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_file_project_sketch

Upload Image Sdcard View :

Upload_image_sdcard_path

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 :

Showing_uploaded_file_at_server

Cheque apk file in phone  :

UploadToServer.apk

ortegademsen1938.blogspot.com

Source: https://androidexample.com/upload-file-to-server

0 Response to "How to Upload Files in Android Application"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel