小编use*_*632的帖子

我们可以在 Spring Rest 模板中为分段文件上传设置自定义边界吗

我想创建一个自定义边界来使用 Spring Rest 模板发送一些 json 数据和一些文件。我无法添加该自定义边界。我无法覆盖获取一些随机字符串作为边界值的默认行为。下面是我的代码片段。有人可以建议如何获得自定义边界吗?

 HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.MULTIPART_MIXED);
    headers.set("boundary", "MyCustomboundary");
    headers.set("accepts", "multipart/mixed");


    MultiValueMap<String, Object> multipartRequest = new LinkedMultiValueMap<>();
Run Code Online (Sandbox Code Playgroud)

“为 JSON 部分创建 HttpEntity”

    HttpHeaders jsonHeader = new HttpHeaders();
    jsonHeader.setContentType(MediaType.APPLICATION_JSON);
    jsonHeader.set( "Content-Disposition","form-data");
    jsonHeader.set("boundary", "MyCustomboundary");
    jsonHeader.set( "name","Metadata");

    ContentDisposition contentDisposition = ContentDisposition
            .builder("form-data")
            .name("file")
            .filename("FileName"))
            .build();

    JSONObject json = getJSONObject();
    HttpEntity<String> jsonHttpEntity = new HttpEntity<>(json.toString(), jsonHeader);
Run Code Online (Sandbox Code Playgroud)

'为二进制部分创建 HttpEntity'

    HttpHeaders pictureHeader = new HttpHeaders();
    pictureHeader.set( "Content-Disposition","form-data");
    pictureHeader.set( "name","Content");
    pictureHeader.set("filename","FileNameTest");
    pictureHeader.set("Content-Type", "application/octet-stream");
    pictureHeader.set("boundary", "MyCustomboundary");

    HttpEntity<ByteArrayResource> picturePart = new HttpEntity<>(new ByteArrayResource(multipartFile.getBytes()), pictureHeader);
Run Code Online (Sandbox Code Playgroud)

'将两个部分放在一个请求中' …

spring multipartform-data multipart resttemplate spring-boot

6
推荐指数
0
解决办法
1950
查看次数