android,上传文件到服务器

	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);
		}

	}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue31313

感谢打赏,继续分享,给您帮忙。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值