In this example uploading an image from sdcard to web server.
Steps :
1. place an image on sdcard.
2. place sdcard image path and image name in UploadToServer.java. ( see below )
3. create a php script (UploadToServer.php) at server. ( see below )
4. place php script path in UploadToServer.java. ( see below )
5. create folder name uploads on server where you have placed php script.
6. give permission 777 (read/write/execute) to uploads folder.
Project Structure :

Upload Image Sdcard View :

File : AndroidManifest.xml
| <?xmlversion="1.0"encoding="utf-8"?>      package="com.androidexample.uploadtoserver"      android:versionCode="1"      android:versionName="1.0">        <uses-sdk          android:minSdkVersion="8"/>            <uses-permissionandroid:name="android.permission.INTERNET"/>        <application          android:allowBackup="true"          android:icon="@drawable/ic_launcher"          android:label="@string/app_name"          android:theme="@style/AppTheme">          <activity              android:name="com.androidexample.uploadtoserver.UploadToServer"              android:label="@string/app_name">              <intent-filter>                  <actionandroid:name="android.intent.action.MAIN"/>                    <categoryandroid:name="android.intent.category.LAUNCHER"/>              </intent-filter>          </activity>      </application>    </manifest> | 
File : res/layout/activity_upload_to_server.xml
| <?xmlversion="1.0"encoding="utf-8"?>     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
| importjava.io.DataOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;importandroid.app.Activity;importandroid.app.ProgressDialog;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;importandroid.widget.Toast; publicclassUploadToServer extendsActivity {        TextView messageText;    Button uploadButton;    intserverResponseCode = 0;    ProgressDialog dialog = null;           String upLoadServerUri = null;        /**********  File Path *************/    finalString uploadFilePath = "/mnt/sdcard/";    finalString uploadFileName = "service_lifecycle.png";        @Override    publicvoidonCreate(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 ****************/                uploadButton.setOnClickListener(newOnClickListener() {                        @Override            publicvoidonClick(View v) {                                dialog = ProgressDialog.show(UploadToServer.this, "", "Uploading file...", true);                                newThread(newRunnable() {                        publicvoidrun() {                             runOnUiThread(newRunnable() {                                    publicvoidrun() {                                        messageText.setText("uploading started.....");                                    }                                });                                                                             uploadFile(uploadFilePath + ""+ uploadFileName);                                                                             }                      }).start();                        }            });    }         publicintuploadFile(String sourceFileUri) {                              String fileName = sourceFileUri;           HttpURLConnection conn = null;          DataOutputStream dos = null;            String lineEnd = "\r\n";          String twoHyphens = "--";          String boundary = "*****";          intbytesRead, bytesAvailable, bufferSize;          byte[] buffer;          intmaxBufferSize = 1* 1024* 1024;           File sourceFile = newFile(sourceFileUri);                     if(!sourceFile.isFile()) {                             dialog.dismiss();                               Log.e("uploadFile", "Source File not exist :"                                   +uploadFilePath + ""+ uploadFileName);                              runOnUiThread(newRunnable() {                   publicvoidrun() {                       messageText.setText("Source File not exist :"                               +uploadFilePath + ""+ uploadFileName);                   }               });                               return0;                     }          else          {               try{                                         // open a URL connection to the Servlet                   FileInputStream fileInputStream = newFileInputStream(sourceFile);                   URL url = newURL(upLoadServerUri);                                      // Open a HTTP  connection to  the URL                   conn = (HttpURLConnection) url.openConnection();                    conn.setDoInput(true); // Allow Inputs                   conn.setDoOutput(true); // Allow Outputs                   conn.setUseCaches(false); // Don't use a Cached Copy                   conn.setRequestMethod("POST");                   conn.setRequestProperty("Connection", "Keep-Alive");                   conn.setRequestProperty("ENCTYPE", "multipart/form-data");                   conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+ boundary);                   conn.setRequestProperty("uploaded_file", fileName);                                       dos = newDataOutputStream(conn.getOutputStream());                            dos.writeBytes(twoHyphens + boundary + lineEnd);                    dos.writeBytes("Content-Disposition: form-data; name="uploaded_file";filename=""                                             + fileName + """ + lineEnd);                                      dos.writeBytes(lineEnd);                            // create a buffer of  maximum size                   bytesAvailable = fileInputStream.available();                             bufferSize = Math.min(bytesAvailable, maxBufferSize);                   buffer = newbyte[bufferSize];                            // read file and write it into form...                   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);                                            }                            // send multipart form data necesssary after file data...                   dos.writeBytes(lineEnd);                   dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);                            // Responses from the server (code and message)                   serverResponseCode = conn.getResponseCode();                   String serverResponseMessage = conn.getResponseMessage();                                       Log.i("uploadFile", "HTTP Response is : "                           + serverResponseMessage + ": "+ serverResponseCode);                                      if(serverResponseCode == 200){                                              runOnUiThread(newRunnable() {                            publicvoidrun() {                                                                String msg = "File Upload Completed.\n\n See uploaded file here : \n\n"                                              +uploadFileName;                                                                messageText.setText(msg);                                Toast.makeText(UploadToServer.this, "File Upload Complete.",                                              Toast.LENGTH_SHORT).show();                            }                        });                                   }                                          //close the streams //                   fileInputStream.close();                   dos.flush();                   dos.close();                                  } catch(MalformedURLException ex) {                                    dialog.dismiss();                    ex.printStackTrace();                                    runOnUiThread(newRunnable() {                      publicvoidrun() {                          messageText.setText("MalformedURLException Exception : check script url.");                          Toast.makeText(UploadToServer.this, "MalformedURLException",                                                               Toast.LENGTH_SHORT).show();                      }                  });                                    Log.e("Upload file to server", "error: "+ ex.getMessage(), ex);                } catch(Exception e) {                                    dialog.dismiss();                    e.printStackTrace();                                    runOnUiThread(newRunnable() {                      publicvoidrun() {                          messageText.setText("Got Exception : see logcat ");                          Toast.makeText(UploadToServer.this, "Got Exception : see logcat ",                                   Toast.LENGTH_SHORT).show();                      }                  });                  Log.e("Upload file to server Exception", "Exception : "                                                   + e.getMessage(), e);                }              dialog.dismiss();                     returnserverResponseCode;                          } // End else block          } } | 
	Php script at server :
	
	 File : UploadToServer.php
| <?php     $file_path= "uploads/";        $file_path= $file_path. basename( $_FILES['uploaded_file']['name']);    if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {        echo"success";    } else{        echo"fail";    } ?> | 
Show uploaded image at server :

 
This is a great inspiring article. I am pretty much pleased with your good work. You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post.Messaging Service
ReplyDeleteThis is a great inspiring article. I am pretty much pleased with your good work. You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post. winter shawls , shawls uk , dressy shawls , mens shawls , shawls manufacturers , fur shawl , cashmere shawl , wedding shawl , black shawl , white shawl
ReplyDelete