public void upload(View viwe){
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod("http://192.168.1.100:8080/web/UploadServlet");;
try {
String path = et_path.getText().toString().trim();
File file = new File(path);
if(file.exists()&&file.length()>0){
Part[] parts = {new StringPart("nameaaaa", "valueaaa"),
new StringPart("namebbb", "valuebbb"),
new FilePart("pic", new File(file.getAbsolutePath()))};
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
client.getHttpConnectionManager().getParams()
.setConnectionTimeout(5000);
int status = client.executeMethod(filePost);
if(status ==200){
Toast.makeText(this, "上传成功", 1).show();
}else{
Toast.makeText(this, "上传失败", 1).show();
}
}
else{
Toast.makeText(this, "上传的文件不存在", 0).show();
}
} catch (Exception e) {
e.printStackTrace();
filePost.releaseConnection();
}
}
==========
UploadServlet.java
服务器端 引入两个jar包
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
String realpath = request.getSession().getServletContext()
.getRealPath("/files");
System.out.println(realpath);
File dir = new File(realpath);
if (!dir.exists())
dir.mkdirs();
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
try {
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
String name1 = item.getFieldName();// 得到请求参数的名称
String value = item.getString("UTF-8");// 得到参数值
System.out.println(name1 + "=" + value);
} else {
item.write(new File(dir, System.currentTimeMillis()
+ item.getName().substring(
item.getName().lastIndexOf("."))));
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
doGet(request, response);
}
}