2014-09-16 1 views
0

Я пытаюсь загрузить xls. я написал ниже веб-службы RestMultipartFile получает набор как Null с spring3 и rest cxf

@POST 
@Path("/ui/uploadDocument") 
@Consumes("multipart/form-data") 
public void uploadDocument(@RequestParam("file") MultipartFile file) 

Я также добавил ниже в контекстном пружинный конфигурации:

<bean id="multipartResolver" 
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
    <property name="maxUploadSize" value="99999"/> 
    <property name="maxInMemorySize" value="99999"/> 
</bean> 

Теперь я пытаюсь запустить выше с помощью Chrome клиента покоя и простой HTML-код как показано ниже:

<form method="POST" action="http://localhost/my-core/eCom/v1/catalogue/ui/uploadDocument" enctype="multipart/form-data"> 
    File to upload: <input type="file" name="file" id="file"><br /> 
    Name: <input type="text" name="name"><br /> <br /> 
    <input type="submit" value="Upload"> Press here to upload the file! 
</form> 

проблема я столкнулся с клиенте отдыха или вызова его с помощью HTML кода является то, что, хотя вызов остальные успешно ly, но файл (MultipartFile) установлен как null. Я пропустил какие-либо настройки выше?

Мы используем пружины 3.0 и для поддержки отдыха мы используем Apache jaxrs ... Anyones помощь ценится ...

ответ

0

я, наконец, решить проблему, делая путь JAX Rs.

Ниже приведен код:

@POST 
@Path("/ui/uploadDocument") 
@Consumes("multipart/form-data") 
public Response uploadDocument(List<Attachment> attachments, @Context HttpServletRequest request) { 
    for (Attachment attachment : attachments) { 
     DataHandler handler = attachment.getDataHandler(); 
     try { 
    //   Creates a workbook object from the uploaded excelfile 
      HSSFWorkbook workbook = new HSSFWorkbook(handler.getInputStream()); 
      HSSFSheet worksheet = workbook.getSheetAt(0); 
      int i = 1; 
      while (i <= worksheet.getLastRowNum()) { 
       HSSFRow row = worksheet.getRow(i++); 
       CatDefault catDefault = new CatDefault(); 
       catDefault.setCatId((long) row.getCell(0).getNumericCellValue()); 
      } 
     } 
    } 

HTML код, используемый для вызова, как показано ниже:

<form action="http://localhost/cat-core/eCom/v1/catalogue/ui/uploadDocument" method="post" enctype="multipart/form-data"> 
    <p> 
     Select a file : <input type="file" name="uploadedFile" size="50" /> 
    </p> 
    <input type="submit" value="Upload It" /> 
</form> 

Ссылка CXF была полезной.

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

  • Нет связанных вопросов^_^