多部分请求和自定义 Header

Multipart Request and Custom Header

对于我当前的解决方案,我正在使用 apache commons FileUpload 库来处理传入的 multi-part 请求。我能够适当地发送文件,然后使用流 api 代码 here.

在服务器端读取流

如果您查看列出的多部分请求的格式 here,每个添加的文件都会列出一个 Content-Disposition。我需要添加一个 startByte 标签(类似于您在 content-disposition 中添加 "filename" 标签的方式)。我不太确定如何正确地做到这一点,然后在请求中检索它?这当然不是全局的header,因为这个流中有多个文件。

有人有什么想法吗?

这适用于任何可能感兴趣的人,事实证明这很容易:为此,在客户端上,您附加 header,如下所示:

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