作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Android 客户端在 Google 云存储中发布数据和一些文件:
MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
entityBuilder.addBinaryBody("file", file);
entityBuilder.addTextBody("author", author);
在服务器端,我使用 servlet 来获取该请求。但是,虽然我能够获取文件并存储它,但我不知道如何获取 addTextBody 中的内容(在我的例子中是“作者”字符串)
我一直在寻找一段时间,只是发现有人发布了完全相同的问题,但没有人回答他。 ( How to get the text from a addTextBody in a miltipartentitybuilder )
最佳答案
假设您使用的是 Servlet 3.0+,只需使用 HttpServletRequest#getParts()
.例如,如果您想要名为 author
的多部分内容,您可以使用 @MultipartConfig
配置您的 servlet,检索适当的 Part
对象并使用它的 InputStream
。
@MultipartConfig()
@WebServlet(urlPatterns = { "/upload" })
public class UploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Collection<Part> parts = req.getParts();
for (Part part : parts) {
if (!part.getName().equals("author"))
continue;
try (InputStream in = part.getInputStream()){
String content = CharStreams.toString(new InputStreamReader(in));
System.out.println(content); // prints the value of author
}
}
}
}
关于java - 如何从 MultipartEntityBuilder 中的 addTextBody 获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28388889/
我是一名优秀的程序员,十分优秀!