手机端代码:
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
}
public void onclick(View
view){
String uploadUrl = "http://192.168.0.103:8080/upload/UploadServlet" ;//ip根据机器ip设置
String end = "\r\n";
String twoHyphens = "--";//两个连字符
String boundary = "******";//分界符
String filename = Environment.getExternalStorageDirectory()+ "/my.jpg";//上传文件的路径
try {
URL url = new URL(uploadUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setDoInput( true);
httpURLConnection.setDoOutput( true);
httpURLConnection.setUseCaches( false);
httpURLConnection.setRequestMethod( "POST");//必须大写
httpURLConnection.setRequestProperty( "Connection", "Keep-Alive");
httpURLConnection.setRequestProperty( "Charset", "UTF-8");
httpURLConnection.setRequestProperty( "Content-type", "multipart/form-data;boundary=" +boundary);
DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream());
dos.writeBytes(twoHyphens+boundary+end);
dos.writeBytes( "Content-Disposition:form-data; name=\"file\";
filename=\""
+filename.substring(filename.lastIndexOf( "/")+1)+"\"" +end);
dos.writeBytes(end);
if(!new File(filename).exists()){
Toast. makeText(this, "文件不存在" ,
1000).show();
return;
}
FileInputStream fis = new FileInputStream(filename);
byte[]
buf = new byte[8192];
int count
= 0;
while((count
= fis.read(buf))>0){
dos.write(buf, 0, count);
}
fis.close();
dos.writeBytes(end);
dos.writeBytes(twoHyphens+boundary+twoHyphens+end);
dos.flush();
InputStream is = httpURLConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8" );
BufferedReader br = new BufferedReader(isr);
String result = br.readLine();
Toast. makeText(this,
result, Toast.LENGTH_LONG).show();
dos.close();
is.close();
} catch (Exception
e) {
e.printStackTrace();
}
}
}