2016-08-16 1 views
0

Я получил программу uRL Programmatically из моего развернутого приложения google., Однако я продолжаю получать ответ ниже: какой тип параметра мне не хватает?«Пожалуйста, используйте multipart». Когда вы загружаете, чтобы загрузить URL-адрес из Google App Engine

Bad content type. Please use multipart. 
2016-08-16 09:25:34 ERROR PayitWebClientApp:207 - 400 Bad Request 
Bad content type. Please use multipart. 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1054) 
    at com.vanitysoft.payit.PayitInvokeAuthApp.generateUploadUr(PayitInvokeAuthApp.java:198) 
    at com.vanitysoft.payit.PayitInvokeAuthApp.main(PayitInvokeAuthApp.java:217) 

Это код:

 MultipartContent content = new MultipartContent().setMediaType(
       new HttpMediaType("multipart/form-data") 
         .setParameter("boundary", "__END_OF_PART__")); 

     FileContent fileContent = new FileContent(
       "multipart/related", file); 
     MultipartContent.Part part = new MultipartContent.Part(fileContent); 
     part.setHeaders(new HttpHeaders().set(
       "Content-Disposition", 
       String.format("form-data; name=\"content\"; filename=\"%s\"", file.getName()))); 
     content.addPart(part); 

     httpRequest = httpRequestFactory.buildPostRequest(new GenericUrl(uploadItem.getUploadUrl()) ,fileContent);  
     LOGGER.info("upload...[" + uploadItem.getUploadUrl() +"]"); 
     httpResponse = httpRequest.execute(); 
     LOGGER.info("Upload complete"); 
     Assert.isTrue(httpResponse.getStatusCode() == 200, IOUtils.toString(httpResponse.getContent()));  

     LOGGER.info("Success[" + httpResponse.getContent() +"]"); 

ответ

0

У вас не хватает enctype="multipart/form-data" на <form> теге.

Проверить этот ответ: Why is form enctype=multipart/form-data required when uploading a file?

+0

Привет, мой клиент - приложение для Java. что вы имеете в виду, добавляете, что для «формы тега»? Я могу добавить это в заголовок Content-Diposition? –

+0

Фактически я уже отправляю «multipart/form-data» ....: / –

0

Opps, опечатка :, я должен был использовать 'содержание' не fileContent

HTTPRequest = httpRequestFactory.buildPostRequest (новый GenericUrl (uploadItem.getUploadUrl()), содержание);

Смежные вопросы