Не удается отправить файл в Jenkins - PullRequest
1 голос
/ 16 августа 2011

Я пытаюсь отправить файл в Jenkins из Python через multipart / form-data. Тело запроса выглядит так:

--===============1849003312==
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: file; name="file0"; filename="meta.xml"

PHhtbD4NCjwveG1sPg0K

--===============1849003312==--

Это заставляет Дженкинса выдавать исключение на его конце, однако, наиболее важные биты которого следующие:

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?

EDIT: Заголовки запроса:

Content-Type:

multipart/form-data; boundary="===============1849003312=="    

MIME-Version:

1.0

1 Ответ

0 голосов
/ 16 августа 2011

Я считаю, что Content-Disposition: file; следует заменить на Content-Disposition: attachment;. Исходный код FileUploadBase не упоминает "файл", а RFC 2183 не перечисляет "файл" в качестве значения для расположения содержимого.

...