//code online forgot link I'm sorry, huh?
Packageupload;ImportJava.io.BufferedReader;ImportJava.io.DataOutputStream;ImportJava.io.FileInputStream;Importjava.io.IOException;ImportJava.io.InputStream;ImportJava.io.InputStreamReader;Importjava.net.HttpURLConnection;ImportJava.net.URL; Public classUploadtest { Publicuploadtest () {//TODO auto-generated Constructor stub } Public Static voidMain (string[] args) {Try{uploadbycommonpost ("Http://127.0.0.1/upload_file.php"); } Catch(IOException e) {//TODO auto-generated Catch blockE.printstacktrace (); } } Private Static voidUploadbycommonpost (String uploadurl)throwsIOException {String end= "\ r \ n"; String Twohyphens= "--"; String Boundary= "******"; URL URL=NewURL (Uploadurl); HttpURLConnection HttpURLConnection=(httpurlconnection) URL. OpenConnection (); Httpurlconnection.setchunkedstreamingmode (128 * 1024);//128K should be defined according to file size//allow input/output streamHttpurlconnection.setdoinput (true); Httpurlconnection.setdooutput (true); Httpurlconnection.setusecaches (false); //using the Post methodHttpurlconnection.setrequestmethod ("POST"); Httpurlconnection.setrequestproperty ("Connection", "keep-alive"); Httpurlconnection.setrequestproperty ("Charset", "UTF-8"); Httpurlconnection.setrequestproperty ("Content-type", "Multipart/form-data;boundary=" +boundary); DataOutputStream dos=NewDataOutputStream (Httpurlconnection.getoutputstream ()); Dos.writebytes (Twohyphens+ Boundary +end); Dos.writebytes ("Content-disposition:form-data; Name=\ "Uploadfile\"; Filename=\ "1.jpg\"; "+end); Dos.writebytes ("Content-type:image/jpeg" +end); Dos.writebytes (end); FileInputStream FIS=NewFileInputStream ("D:\\1.jpg"); byte[] buffer =New byte[1024*100];//100k intCount = 0; //Read File while((count = fis.read (buffer))! =-1) {dos.write (buffer,0, Count); } fis.close (); Dos.writebytes (end); Dos.writebytes (Twohyphens+ Boundary + Twohyphens +end); Dos.flush (); InputStream is=Httpurlconnection.getinputstream (); InputStreamReader ISR=NewInputStreamReader (IS, "Utf-8"); BufferedReader BR=NewBufferedReader (ISR); String result; while((Result=br.readline ())! =NULL) {System.out.println (result); } dos.close (); Is.close (); } }
Another python, with a poster module stamp.
1#-*-Coding:utf-8-*-
Import Urllib2
From Poster.encode import Multipart_encode
From poster.streaminghttp import register_openers
params = {'uploadfile': Open (formvalue['file'" RB")}2 datagen, headers = Multipart_encode (params)3 request = urllib2. Request (URL, DataGen, headers)4 return urllib2.urlopen (request). Read (). Decode ( " Utf_8_sig ")
Server Code for PHP
<?PHPVar_dump($_files); if(//($_files["type"] = = "Image/gif")//| | ($_files["type"] = = "Image/jpg")//| | ($_files["type"] = = "Image/jpeg")($_files[' UploadFile '] ["Size"] < 200000)){ if($_files[' UploadFile '] ["Error"]>0){ Echo"Error:".$_files[' UploadFile '] ["Error"]. " <br> "; } Else { Echo"Upload:".$_files[' UploadFile '] ["Name"]. " <br> "; Echo"Type:".$_files[' UploadFile '] ["Type"]. " <br> "; Echo"Size:". ($_files[' UploadFile '] ["Size"]/1024). " Kb<br> "; Echo"Stored in:".$_files["Tmp_name"]; if(file_exists("upload/".$_files[' UploadFile '] ["Name"])) { Echo $_files[' UploadFile '] ["Name"]. " already exists "; } Else { Move_uploaded_file($_files[' UploadFile '] ["Tmp_name"], "upload/".$_files[' UploadFile '] ["Name"]); Echo"Stored in:". Upload/".$_files[' UploadFile '] ["Name"]; } } } Else { Echo"Invalid file"; } ?>
Using Java pyhont to transfer file streams over the HTTP protocol