How to Upload Files in Android Application
In this instance uploading an image from sdcard to web server.
Steps :
1. place an epitome on sdcard.
2. place sdcard image path and epitome name in UploadToServer.java. ( see below )
3. create a php script (UploadToServer.php) at server. ( come across below )
4. place php script path in UploadToServer.java. ( see below )
v. create folder name uploads on server where you have placed php script.
6. requite permission 777 (read/write/execute) to uploads folder.
Projection Structure :
Upload Image Sdcard View :
File : AndroidManifest.xml
<?xml version="i.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" bundle="com.androidexample.uploadtoserver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8"/> <uses-permission android:proper name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:proper noun="com.androidexample.uploadtoserver.UploadToServer" android:characterization="@cord/app_name" > <intent-filter> <activity android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </awarding> </manifest>
File : res/layout/activity_upload_to_server.xml
<?xml version="1.0" encoding="utf-eight"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Click To Upload File" android:id="@+id/uploadButton" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:id="@+id/messageText" android:textColor="#000000" android:textStyle="bold" /> </LinearLayout>
File : src/UploadToServer.java
import coffee.io.DataOutputStream; import coffee.io.File; import coffee.io.FileInputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.app.ProgressDialog; import android.os.Package; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Push; import android.widget.TextView; import android.widget.Toast; public course UploadToServer extends Activeness { TextView messageText; Push button uploadButton; int serverResponseCode = 0; ProgressDialog dialog = null; String upLoadServerUri = zip; /********** File Path *************/ final Cord uploadFilePath = "/mnt/sdcard/"; final String uploadFileName = "service_lifecycle.png"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_upload_to_server); uploadButton = (Button)findViewById(R.id.uploadButton); messageText = (TextView)findViewById(R.id.messageText); messageText.setText("Uploading file path :- '/mnt/sdcard/"+uploadFileName+"'"); /************* Php script path ****************/ upLoadServerUri = "http://www.androidexample.com/media/UploadToServer.php"; uploadButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog = ProgressDialog.bear witness(UploadToServer.this, "", "Uploading file...", true); new Thread(new Runnable() { public void run() { runOnUiThread(new Runnable() { public void run() { messageText.setText("uploading started....."); } }); uploadFile(uploadFilePath + "" + uploadFileName); } }).start(); } }); } public int uploadFile(String sourceFileUri) { String fileName = sourceFileUri; HttpURLConnection conn = null; DataOutputStream dos = nada; String lineEnd = "\r\n"; String twoHyphens = "--"; String purlieus = "*****"; int bytesRead, bytesAvailable, bufferSize; byte[] buffer; int maxBufferSize = one * 1024 * 1024; File sourceFile = new File(sourceFileUri); if (!sourceFile.isFile()) { dialog.dismiss(); Log.e("uploadFile", "Source File not exist :" +uploadFilePath + "" + uploadFileName); runOnUiThread(new Runnable() { public void run() { messageText.setText("Source File not be :" +uploadFilePath + "" + uploadFileName); } }); return 0; } else { effort { // open a URL connection to the Servlet FileInputStream fileInputStream = new FileInputStream(sourceFile); URL url = new URL(upLoadServerUri); // Open a HTTP connection to the URL conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(truthful); // Allow Inputs conn.setDoOutput(true); // Allow Outputs conn.setUseCaches(imitation); // Don't employ a Cached Re-create conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Proceed-Alive"); conn.setRequestProperty("ENCTYPE", "multipart/form-data"); conn.setRequestProperty("Content-Blazon", "multipart/form-data;boundary=" + boundary); conn.setRequestProperty("uploaded_file", fileName); dos = new DataOutputStream(conn.getOutputStream()); dos.writeBytes(twoHyphens + boundary + lineEnd); dos.writeBytes("Content-Disposition: grade-information; proper noun="uploaded_file";filename="" + fileName + """ + lineEnd); dos.writeBytes(lineEnd); // create a buffer of maximum size bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); buffer = new byte[bufferSize]; // read file and write it into grade... bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0) { dos.write(buffer, 0, bufferSize); bytesAvailable = fileInputStream.available(); bufferSize = Math.min(bytesAvailable, maxBufferSize); bytesRead = fileInputStream.read(buffer, 0, bufferSize); } // transport multipart class data necesssary after file data... dos.writeBytes(lineEnd); dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); // Responses from the server (code and message) serverResponseCode = conn.getResponseCode(); Cord serverResponseMessage = conn.getResponseMessage(); Log.i("uploadFile", "HTTP Response is : " + serverResponseMessage + ": " + serverResponseCode); if(serverResponseCode == 200){ runOnUiThread(new Runnable() { public void run() { String msg = "File Upload Completed.\n\n See uploaded file here : \n\northward" +" http://www.androidexample.com/media/uploads/" +uploadFileName; messageText.setText(msg); Toast.makeText(UploadToServer.this, "File Upload Complete.", Toast.LENGTH_SHORT).show(); } }); } //close the streams // fileInputStream.close(); dos.flush(); dos.close(); } grab (MalformedURLException ex) { dialog.dismiss(); ex.printStackTrace(); runOnUiThread(new Runnable() { public void run() { messageText.setText("MalformedURLException Exception : check script url."); Toast.makeText(UploadToServer.this, "MalformedURLException", Toast.LENGTH_SHORT).testify(); } }); Log.e("Upload file to server", "error: " + ex.getMessage(), ex); } catch (Exception east) { dialog.dismiss(); e.printStackTrace(); runOnUiThread(new Runnable() { public void run() { messageText.setText("Got Exception : meet logcat "); Toast.makeText(UploadToServer.this, "Got Exception : run into logcat ", Toast.LENGTH_SHORT).show(); } }); Log.e("Upload file to server Exception", "Exception : " + e.getMessage(), eastward); } dialog.dismiss(); return serverResponseCode; } // Stop else block } } Php script at server :
File : UploadToServer.php
<?php $file_path = "uploads/"; $file_path = $file_path . basename( $_FILES['uploaded_file']['proper name']); if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) { repeat "success"; } else{ repeat "fail"; } ?> Bear witness uploaded image at server :
Cheque apk file in phone :
UploadToServer.apk
Source: https://androidexample.com/upload-file-to-server
0 Response to "How to Upload Files in Android Application"
Post a Comment