向Jenkins上传文件失败
我正在尝试通过Python向Jenkins发送一个文件,使用的是multipart/form-data格式。请求的内容大致是这样的:
--===============1849003312==
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: file; name="file0"; filename="meta.xml"
PHhtbD4NCjwveG1sPg0K
--===============1849003312==--
但是这导致Jenkins在处理时出现了异常,以下是最相关的错误信息:
Exception: <br>Stacktrace: <pre>org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:381)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at org.kohsuke.stapler.RequestImpl.parseMultipartFormData(RequestImpl.java:767)
at org.kohsuke.stapler.RequestImpl.getSubmittedForm(RequestImpl.java:782)
我的POST请求哪里出错了?
编辑:请求的头信息如下:
内容类型:
multipart/form-data; boundary="===============1849003312=="
MIME版本:
1.0
1 个回答
0
我觉得应该把 Content-Disposition: file;
改成 Content-Disposition: attachment;
。在这个FileUploadBase 的源代码里没有提到“file”,而且在RFC 2183 文档中也没有把“file”列为内容处理的一个值。