Httpclient MultipartEntity is deprecated

HttpClient是apache提供的很方面的java http客户端,它可以模拟浏览器发送请求,get、post、head等。我们在提交post表单时,表单中如果需要上传文件,那么表单的类型一般是**enctype="multipart/form-data",HttpClient也提供这种方法,需要用到http-mime.jar这个包。

MultipartEntity mutiEntity = newMultipartEntity();
File file = new File("d:/photo.jpg");
mutiEntity.addPart("desc",new StringBody("你好吗?", Charset.forName("utf-8")));
mutiEntity.addPart("pic", newFileBody(file));

httpPost.setEntity(mutiEntity);

在比较新的httpmime包中,MultipartEntity这个类已经不推荐使用了,推荐使用下面的方式

    MultipartEntityBuilder builder = MultipartEntityBuilder.create();

    /* example for setting a HttpMultipartMode */
    builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

    /* example for adding an image part */
    FileBody fileBody = new FileBody(new File("")); //image should be a String
    builder.addPart("my_file", fileBody);
    HttpEntity entity = builder.build();

    httpPost.setEntity(entity);

附上httpmime maven仓库地址:http://www.mvnrepository.com/artifact/org.apache.httpcomponents/httpmime/

版权声明

本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。

© 空空博客,本文链接:https://www.yeetrack.com/?p=932