2014-11-28 3 views
0

Как я пытаюсь загрузить мой профиль pic с помощью dojox Uploader, я не могу загрузить файл с помощью формы с помощью сообщений или постов методов (так как я могу обновить свой рисунок). добавил свою часть функции,Невозможно загрузить файл с помощью dojo 1.9

request.post(url, { 
       data: { 
       data:domForm.toObject("profileForm"), //complete form 
       attachment:dijit.byId("attachment")._files[0].name // attachment 
       }, 
       handleAs : "json", 
       timeout: 2000, 
      headers: { 
         'userId' : userId, 
         'companyId' : companyId, 
         'token' : token, 
         "Content-Type" : "multipart/form-data", 
         'Accept': 'application/json' 
      } 

мой HTML часть,

<form id="profileForm" enctype="multipart/form-data" action="" method="post"> 

       <input name="attachment" multiple="false" type="file" data-dojo-type="dojox/form/Uploader" label="Select Some Files" id="attachment" /> 
       <input type="button" class="submit" value="submit" id="profilebtnId" onclick="changeProfilePic();" /> 
    </form> 

Кодекса Java:

@Path(UserRESTOperations.PROFILE_PIC) 
    @POST //@PUT 
    @Consumes({ MediaType.MULTIPART_FORM_DATA}) 
    public Response setUserProfilePic(@PathParam(RestPathConstants.ID_PARAM) Integer userId, 
      @Context HttpServletRequest request) {} 

Я могу хит т он API, но не может передать содержимое (запрос) на бэкэнд (java). Простите за мой грамматик.

ответ

0

Я столкнулся с аналогичной проблемой и в итоге использовал FormData.

var attachment = dijit.byId('attachment').inputNode.files[0]; 
var formData = new FormData(); 

formData.append('attachment', attachment); 

request.post(url, { 
    data: formData 
    , handleAs: 'json' 
    , headers: { 
     Accept: 'application/javascript, application/json' 
     , 'Content-Type': false 
    } 
}); 
+0

Большое вам спасибо. – user3378897

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