多部分请求和自定义标头

时间:2015-03-08 07:20:32

标签: java file-upload apache-commons

对于我目前的解决方案,我使用apache commons FileUpload库来处理传入的多部分请求。我能够正确发送文件,然后使用流式api代码here读取服务器端的流。

如果查看列出here的多部分请求的格式,则会为添加的每个文件列出内容处置。我需要添加一个 startByte 标记(类似于在内容处置中添加" filename"标记的方式)。我不太确定如何正确地执行此操作然后在请求中检索它?这当然不是全局标题,因为此流中有多个文件。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这适用于任何可能感兴趣的人,结果很简单:为此,在客户端上添加如下标题:

 outputStream.writeBytes("Content-Disposition: form-data; name=\"" + filename + "\"; filename=\"" + filename + "\";\r\n");
 outputStream.writeBytes("My-Custom-Header: My-Data\r\n");
 outputStream.writeBytes("\r\n");

然后,在服务器上,使用commons FileUpload,您只需:

FileItemHeaders headers = item.getHeaders();
headers.getHeader("My-Custom-Header");