我正在努力使用 java spring 创建对某些内部服务的有效请求。问题在于多部分/表单数据边界的正确有效负载。
环境:java服务器->(其余)http multipart/form-data->一些服务
(中间没有浏览器)
有效负载应如下所示:
------WebKitFormBoundaryp8mrQWOb5GiyC90y 内容处置:表单数据;名称=“文件”;文件名=“0000.png” 内容类型:图像/png [二进制数据] ------WebKitFormBoundaryp8mrQWOb5GiyC90y--
不幸的是,我无法更改此“标头”,并且我收到如下信息:
--fkGT7CJaQB9-2aa8G1ePv17iHKnWSsd 内容处置:表单数据;名称=“文件” 内容长度:170096 [二进制数据] --fkGT7CJaQB9-2aa8G1ePv17iHKnWSsd--
我搜索了很多 stackoverlow 问题,但似乎没有任何效果。这就是我到目前为止所做的(生成上述有效负载):
HashMap<String, List<String>> additionalHeaders = new HashMap<>();
String fileMd5 = "tgrlfG0pjblWZB6g1f7j5w=="; //@todo
File file = new File(systemFile.getAbsoluteFileLocation());
Path filePath = Paths.get(systemFile.getAbsoluteFileLocation());
try{
DiskFileItem fileItem = new DiskFileItem("file", "image/png", false, file.getName(), (int) file.length() , file.getParentFile());
InputStream input = new FileInputStream(file);
OutputStream os = fileItem.getOutputStream();
int ret = input.read();
while ( ret != -1 )
{
os.write(ret);
ret = input.read();
} …
Run Code Online (Sandbox Code Playgroud)