对于我当前的解决方案,我正在使用apache commons FileUpload库来处理传入的多部分请求。我能够适当地发送文件,然后使用此处的流式 api 代码在服务器端读取流。
如果您查看此处列出的多部分请求的格式,就会发现每个添加的文件都会列出一个内容处置。我需要添加一个 startByte 标签(类似于您在内容处置中添加"文件名"标签的方式)。我不太确定如何正确执行此操作,然后在请求中检索它?这当然不是全局标头,因为此流中有多个文件。
有人有什么想法吗?
这适用于任何可能感兴趣的人,结果很容易: 为此,请在客户端上附加如下所示的标头:
outputStream.writeBytes("Content-Disposition: form-data; name="" + filename + ""; filename="" + filename + "";rn");
outputStream.writeBytes("My-Custom-Header: My-Datarn");
outputStream.writeBytes("rn");
然后,在服务器上,使用commons FileUpload,您只需执行以下操作:
FileItemHeaders headers = item.getHeaders();
headers.getHeader("My-Custom-Header");