How to send image with url in android -


image not able reach on database

my doinbackground() method

try {              file file_name=new file("/storage/sdcard1/received/iaf-sarang.jpg");             defaulthttpclient mhttpclient;             httpparams par = new basichttpparams();             par.setparameter(coreprotocolpnames.protocol_version, httpversion.http_1_1);             mhttpclient = new defaulthttpclient(par);              try {                  httppost httppost = new httppost("http://www.hugosys.in/www.nett-torg.no/api/rpcs/uploadfiles/?");                 multipartentity multipartentity = new multipartentity(httpmultipartmode.browser_compatible);                                     multipartentity.addpart("post_id", new stringbody("1368"));                 multipartentity.addpart("user_id", new stringbody("62"));                 multipartentity.addpart("files", new filebody(file_name, "content-type: image/jpeg\r\n\r\n"));                 httppost.setentity(multipartentity);                 mhttpclient.execute(httppost, new photouploadresponsehandler());              } catch (exception e) {                e.printstacktrace();                system.out.println(""+e);             }          } catch (exception e) {             // todo auto-generated catch block             e.printstacktrace();         }         return response_string; 

here photouploadresponsehandler class

    private class photouploadresponsehandler implements responsehandler<object> {      @override     public object handleresponse(httpresponse response)             throws clientprotocolexception, ioexception {          httpentity r_entity = response.getentity();         string rstring = entityutils.tostring(r_entity);         log.d("upload", rstring);         response_string=rstring;         return rstring;     }  } 

there 1 more block of code have tried in post_id not reached

image posted sucessfully

              // open url connection servlet              fileinputstream fileinputstream = new fileinputstream(sourcefile);              url url = new url("http://www.hugosys.in/www.nett-torg.no/api/rpcs/uploadfiles/?");               // open http  connection  url              conn = (httpurlconnection) url.openconnection();              conn.setdoinput(true); // allow inputs              conn.setdooutput(true); // allow outputs              conn.setusecaches(false); // don't use 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("post_id", "1368");              conn.setrequestproperty("user_id", "62");              conn.setrequestproperty("files", file_name);                               dos = new dataoutputstream(conn.getoutputstream());                              dos.writebytes(twohyphens + boundary + lineend);              dos.writebytes("content-disposition: form-data;name=files[];filename="+file_name+""+ lineend);              //dos.writebytes("content-type: application/octet-stream\r\n\r\n");              // "image/jpeg"              dos.writebytes("content-type: image/jpeg\r\n\r\n");              // create buffer of  maximum size              bytesavailable = fileinputstream.available();                     buffersize = math.min(bytesavailable, maxbuffersize);              buffer = new byte[buffersize];                     // read file , write 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);                 }               dos.writebytes(lineend);              dos.writebytes(twohyphens + boundary + twohyphens + lineend);               // send multipart form data necesssary after file data...               // responses server (code , message)             int serverresponsecode = conn.getresponsecode();             serverresponsemessage = conn.getresponsemessage();             is=conn.getinputstream();               log.i("uploadfile", "http response : "+ serverresponsemessage + ": " + serverresponsecode);               inputstreamreader inputstreamreader = new inputstreamreader(is);              bufferedreader bufferedreader = new bufferedreader(inputstreamreader);               string bufferedstrchunk = null;               while((bufferedstrchunk = bufferedreader.readline()) != null){                  stringbuilder.append(bufferedstrchunk);              }              //close streams //              fileinputstream.close();              dos.flush();              dos.close(); 

have code uploading image other data on server using php webservices...

code upload button...

        upload = (button) findviewbyid(r.id.button1);         upload.setonclicklistener(new view.onclicklistener() {              public void onclick(view v) {                 bitmap= bitmapfactory.decoderesource(getresources(), r.drawable.img);                 new imageuploadtask().execute();             }         }); 

this async task upload image data on server...

    class imageuploadtask extends asynctask<void, void, string> {         private stringbuilder s;          @override         protected void onpreexecute() {             // todo auto-generated method stub             super.onpreexecute();             mprogress = new progressdialog(mainactivity.this);             mprogress.setmessage("loading");             mprogress.setprogressstyle(progressdialog.style_spinner);             mprogress.setcancelable(false);             mprogress.show();         }         @override         protected string doinbackground(void... unsued) {             try {                 string sresponse = "";                 string url = "http://www.hugosys.in/www.nett-torg.no/api/rpcs/uploadfiles/?";                 httpclient httpclient = new defaulthttpclient();                 httppost httppost = new httppost(url);                 multipartentity entity = new multipartentity();                  bytearrayoutputstream bos = new bytearrayoutputstream();                 bitmap.compress(compressformat.jpeg, 100, bos);                 byte[] data = bos.tobytearray();                 entity.addpart("post_id", new stringbody("1368"));                 entity.addpart("user_id", new stringbody("62"));                 entity.addpart("files[]", new bytearraybody(data,"image/jpeg", "test2.jpg"));                  httppost.setentity(entity);                 httpresponse response = httpclient.execute(httppost);                  bufferedreader reader = new bufferedreader(new inputstreamreader(response.getentity().getcontent(), "utf-8"));                  s = new stringbuilder();                  while ((sresponse = reader.readline()) != null)                  {                     s = s.append(sresponse);                 }                  if(response.getstatusline().getstatuscode() == httpstatus.sc_ok)                 {                     return s.tostring();                 }else                 {                     return "{\"status\":\"false\",\"message\":\"some error occurred\"}";                 }                } catch (exception e) {                 toast.maketext(getapplicationcontext(), e.getmessage(), toast.length_long).show();                 return null;             }         }          @override         protected void onpostexecute(string sresponse) {             try {                 mprogress.dismiss();                 if (sresponse != null) {                     toast.maketext(getapplicationcontext(), sresponse + " photo uploaded successfully",toast.length_short).show();                 }             } catch (exception e) {                 toast.maketext(getapplicationcontext(), e.getmessage(),                         toast.length_long).show();                 log.e(e.getclass().getname(), e.getmessage(), e);             }         }     } 

add permission in manifest.xml..

 <uses-permission android:name="android.permission.internet"/> 

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -