当使用 apache.HttpClient 发送多部分时,我生成如下输出:
18:29:58.800 调试 nnnweServiceImpl -
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB
Content-Disposition: form-data; name="id"
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
ChecknLoadEnvironmentData
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB
Content-Disposition: form-data; name="file"; filename="myfile.xml"
Content-Type: text/xml; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ImportProgramVersion>3.1</ImportProgramVersion>
<Year>2012</Year>
....
....
</Dataset>
--bEDi1DhmFcmCTebUvLowWpRtw-OscIydQ24RSB--
但这似乎因 500 内部服务器错误而失败,而 PostMan 则成功。
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="id"
ChecknLoadEnvironmentData
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="filename"
myXML.xml
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="file"; filename="myXML.xml"
Content-Type: text/xml
----WebKitFormBoundaryE19zNvXGzXaLvS5C
所以我的问题是,我可以用“apache.httpclient”删除java中的字符集和内容传输编码吗?所以我可以消除两个请求之间的差异。我查看了库源,似乎不可能,它总是默认为某个值。
(为什么 Postman 不显示我发送的 xml 文件?)