【发布时间】:2021-11-24 19:21:07
【问题描述】:
以下是保存在文件中的上传请求。在运行时我需要读取文件并将占位符 {{stream}} 替换为输入流数据(我需要上传的文件的流数据)
--Content Boundary
Content-Disposition: form-data; name="metadata"
Content-Type: application/json; charset=US-ASCII
Content-Transfer-Encoding: 8bit
{"id":"docupload","body":{"file":[{}]}}
--Content Boundary
Content-Disposition: form-data; name="inputFile"; filename="file1.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Transfer-Encoding: binary
{{stream}}
--Content Boundary--
我使用下面的方法将上传文件的数据流转换为字符串,然后我将替换为占位符,
ByteArrayOutputStream bos = new ByteArrayOutputStream();
workbook.write(bos); // workbook is instance of XSSFWorkbook which I used to create at runtime
return new String(bos.toByteArray(), StandardCharsets.UTF_8);
但是当我尝试下载时,我得到了损坏的文件。帮助我完成我做错的过程。提前致谢
【问题讨论】:
标签: java rest multipartform-data document