我需要将多部分/表单数据内容发送到Web服务器,并在响应中接收和解析multipart/form-data。我已经阅读了多篇关于如何将多部分内容发送到服务器并在服务器上解析的文章。例如:see here。但是我没有在网上发现有关发送二进制文件和一些其他键 - 值对从服务器到客户端(在我的情况下是pojo或android活动)的帖子。任何帮助都感激不尽。在android中解析多部分/表单数据响应
2
A
回答
0
我等了一会儿,发现我的问题没有答案。我自己找到了一个解决方案。尽管我不认为它效率最高,但它消除了障碍,让我继续前进。这里是解决方案:
在发送方(服务器或客户端):使用org.apache.commons.codec.binary.Base64对encodeToString(byte [] fileRepresentedAsBytes)并发送HTTP Content-Type = text/plain。
在接收方(服务器或客户端):使用org.apache.commons.codec.binary.Base64.decode方法获取字节[],并从中创建文件。
下面是HTTP Servlet中的代码:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
File file = new File(<your-file-here>);
Base64 b = new Base64();
String fileStr = b.encodeToString(IOUtils.toByteArray(new FileInputStream(file)));
String queryString = "file=" + fileStr + "&foo=bar";
resp.setHeader("Content-Type", "text/plain");
resp.getWriter().print(queryString);
resp.getWriter().flush();
resp.getWriter().close();
}
在客户端,只需使用来自的Apache HTTP utils的查询字符串解析器和使用Base64.decode。这将使您能够在客户端和服务器之间传递文件和其他纯文本参数。记住我的例子中的客户端是POJO对象而不是浏览器。这就是为什么我说如果你想发送文件从客户端到服务器或从服务器到客户端无关紧要。
如果有人可以在这里发帖,我很乐意学习其他更有效的方法。
相关问题
- 1. 解析Android中的多部分响应
- 2. PHP - 解析多部分表单数据
- 3. PHP:解析包含多部分表单数据的帖子响应
- 4. 快速解析req.body中的多部分/表单数据发布
- 5. 从PUT请求中解析多部分/表单数据
- 6. 解析多部分/表单数据cakephp 3
- 7. 使用Jackson解析多部分/表单数据或应用程序/ json
- 8. 解析Flex中的多部分SOAP响应?
- 9. Ruby分割和解析批量HTTP响应(多部分/混合)
- 10. Android - 解析单个项目响应JSONObject
- 11. 如何在android中解析Json响应?
- 12. 如何在android中分析xml响应?
- 13. 如何在Android中解析换行符分隔的Json响应?
- 14. 在PHP中读取多部分/表单数据POST数据
- 15. 如何使用HTTP触发器解析Azure函数应用程序中的多部分表单数据? (NodeJS)
- 16. 解析Web表单到数据表中
- 17. 解析HTML表单数据
- 18. 解析Android中的JSON响应
- 19. Alamofire - 多部分表单数据键值:
- 20. Scrapy多部分表单数据请求
- 21. Python - 多部分表单发布数据
- 22. 数据解析为Facebook PHP响应
- 23. Android从php解析JSON与多个数组响应
- 24. MySQL分析表响应
- 25. 解析响应
- 26. 解析响应
- 27. 在Servlet中解析传入的多部分/表单数据参数的便捷方法
- 28. 解析问题在解析XML响应的Android
- 29. 仅解析HTML数据的一部分
- 30. 如何解析Java(Android)中的简单Json响应(多个字符串)?
是不是有像谷歌的ProtoBuf发送二进制数据的东西?那是你在找什么?正如您可以发送XML,JSON,HTML或二进制格式的数据一样。 – 2012-09-09 22:18:52