Project Presentation and explanation
Youku http://v.youku.com/v_show/id_XODk5NjkwOTg4.html
Iqiyi Art Http://www.iqiyi.com/w_19rs1v2m15.html#vfrm=8-7-0-1
Potato Http://www.tudou.com/programs/view/fv0H93IHfhM
Project download
1, mobile phone Select File upload to the server side
http://download.csdn.net/detail/u010134178/8457679
2, the mobile phone to upload photos uploaded to the server side
http://download.csdn.net/detail/u010134178/8457673
3. Total
Http://down.51cto.com/7851921/up
These are required points, if the points are not enough to send to my email [email protected] I sent the project directly.
We must pay attention to the debugging at the same time
1, the network download, upload these operations, is time-consuming operation, to another thread operation, can not be put into the main thread inside.
2, the network download, upload cannot have UI operation, can not display UI inside. Is that you cannot manipulate the UI inside a child thread. If the UI prompts the user for action, you can update the UI using handler with thread, or asynctask update the UI asynchronously.
3, upload to the local tomcat server, to turn off the firewall
public class httppost {/** * constructs the request content through the stitching way, realizes the parameter transmission as well as the file transfer * * @ param acti * .nurl * @param params * @param files * @return * @throws Ioexception */public static string post (string actionurl, map<string, String> params, map<string, file> files) throws ioexception { String boundary = java.util.uuid.randomuuid (). toString (); string prefix = "--", linend = "\ r \ n"; string multipart_from_data = "Multipart/form-data"; string charset = "UTF-8"; Url uri = new url (ActionURL); httpurlconnection conn = (HttpURLConnection) uri.openconnection (); Conn.setReadTimeout (5 * 1000); // Cache maximum time Conn.setdoinput (true);// allowInput Conn.setdooutput (true);// allow output conn.setusecaches (false); // does not allow caching Conn.setrequestmethod ("POST Conn.setrequestproperty ("Connection", "keep-alive"); Conn.setrequestproperty ("Charsert", "UTF-8"); Conn.setrequestproperty ("Content-type", multipart_from_data + "; boundary=" + BOUNDARY ;// first sets the parameters of the spelling type Stringbuilder sb = new stringbuilder ();for (Map.Entry<String, string> entry : params.entryset ()) {sb.append (PREFIX); Sb.append (BOUNDARY); Sb.append (Linend); Sb.append ("Content-disposition: form-data; name=\" " + entry.getkey () + "\" " + linend); Sb.append (" content-type: text/plain; charset= " + Charset + linend); Sb.append ("Content-transfer-encoding: 8bit" + linend); Sb.append ( Linend); Sb.append (Entry.getvalue ()); Sb.append (linend);} Dataoutputstream outstream = new dataoutputstream (CONN.GETOUTPUtstream ()); Outstream.write (Sb.tostring (). GetBytes ());// send file Data if (files != null) for (Map.entry<string, file> file : files.entryset ()) {StringBuilder sb1 = new stringbuilder (); Sb1.append (PREFIX); sb1.append (boundary); Sb1.append (linend); Sb1.append (" Content-disposition: form-data; name=\ "file\"; filename=\ "" + file.getkey () + "\" " + linend); Sb1.append (" content-type: application/octet-stream; charset= " + charset + linend); Sb1.append (linend); Outstream.write (Sb1.tostring (). GetBytes ()); InputStream is = new fileinputstream (File.getvalue ()); byte[] buffer = new byte[ 1024];int len = 0;while ((len = is.read (buffer)) != -1) { Outstream.write (Buffer, 0, len);} Is.close (); Outstream.write (Linend.getbytes ());} Request End Flag byte[] end_data = (PREFIX + boundary + prefix + linend). GetBytes (); Outstream.write (end_data); o Utstream.flush ();// Get Response Code Int res = conn.getresponsecode ();inputstream in = Conn.getinputstream ();if (res == 200) {int ch; Stringbuilder sb2 = new stringbuilder ();while ((Ch = in.read ()) != -1) {sb2.append ((char) ch);}} Outstream.close (); Conn.disconnect (); return in.tostring ();}}
Mobile phone photo Upload to server main code
public void Uploadphoto () {map<string, string> params = new hashmap<string, string> ();p arams.put (" strParamName "," Strparamvalue "); Map<string, file> files = new hashmap<string, file> (); Files.put (System.currenttimemillis () + ". jpg", new File (UploadFile));//uploadfile = "/sdcard/anbo/laolisb.jpg"; try {String str = httppost.post (ActionURL, params, files); SYSTEM.OUT.PRINTLN ("str--->>>" + str);} catch (Exception e) {}}
Select File upload to server main code
/******************************************************/private string fun (String msg) {int i = msg.length (); Int j = msg.lastindexof ("/") + 1; String a = msg.substring (j, i) ; System.out.println (a); return a;} /******************************************************/private void uploadfile () { Show.setvisibility (view.visible); New thread () {@Overridepublic void run () {message msg = message.obtain ();// Server access Path string uploadurl = "/http 192.168.0.104:8080/uploadphoto1/uploadservlet "; Map<string, file> files = new hashmap<string, file> (); String name = fun (PicturePath); Files.put (Name, new file (PicturePath));//files.put (" Test.jpg ", new file (PicturePath)); LOG.D ("Str--->>>", picturepath); Try {string str = httppost.post (uploadurl,& nbsp;new hashmap<string,string> (), files); SYSTEM.OUT.PRINTLN ("str--->>>" + str); msg.what = success;} catch (Exception e) {msg.what = faild;} Mhandler.sendmessage (msg);}}. Start ();}
This article is from the "7851921" blog, please be sure to keep this source http://7861921.blog.51cto.com/7851921/1615556
Android File upload to server