我应该为MultipartEntity设置Content-Type标头吗?

时间:2017-04-20 05:32:37

标签: java apache-httpclient-4.x

我有一小段代码在同一个POST中提交XML实体和二进制数据。我为此使用了 httpclient httpmime

我不确定是否应为此请求设置Content-Type标头。毕竟,Content-Type同时是application/xmlapplication/octet-stream

对此有何正确用法?

    post = new HttpPost(uri);
    post.setHeader("Authorization", auth);

    // Should I set Content-Type at all?
    post.setHeader("Content-Type", mimeType + ";charset=UTF-8");

    MultipartEntityBuilder b = MultipartEntityBuilder.create();
    b.addTextBody("data", payload, ContentType.APPLICATION_XML);
    b.addBinaryBody("file", file);
    post.setEntity(b.build());

1 个答案:

答案 0 :(得分:1)

不,你不应该。您应该让HttpClient根据消息实体的属性自动生成Content-Type以及其他内容元数据头。