2015-09-21 2 views
3

Я работаю над приложением Spring-MVC, в котором у меня есть средство для загрузки файлов. Для этого я хотел бы определить, является ли файл, загруженный пользователем, типом изображения.Java, MultiPart: определить, является ли многостраничный загруженный тип изображения

Я хотел бы создать миниатюру предварительного просмотра этого изображения, поэтому мне нужно определить, является ли это образ. У меня есть код создания эскизов со мной, просто ничего не известно, если это изображение.

код запроса:

@RequestMapping(value = "/notes/addattachment/{noteid}/{groupaccountid}/{api}", method = RequestMethod.POST) 
    public @ResponseBody void addAttachments(@PathVariable("noteid") int noteid, @PathVariable("groupaccountid") Long groupAccountId, 
      @PathVariable("api") String api, @RequestParam("attachments") MultipartFile attachment) { 
     if (!(attachment.isEmpty())) { 
      switch (api){ 
       case "somecase": 
        try { 

         String fileName = attachment.getOriginalFilename(); 
         long fileSize = attachment.getSize(); 
         byte[] bytes = attachment.getBytes(); 
         this.groupAttachmentsService.addAttachment(bytes, fileName, fileSize, noteid, true,attachment.getContentType()); 
         } catch (Exception ignored) {} 
        break; 
       case "google": 
        this.driveQuickstart.insertFile(attachment,noteid, groupAccountId,"123"); 
        break; 
       case "dropbox": 
        String path = api.replace(":","/"); 
        this.dropboxTask.insertFile(attachment,"path",noteid, groupAccountId); 
        break; 


      } 
     } 
    } 

Любая помощь будет хорошо. Спасибо.

+0

Обратитесь к этому примеру, он вам пригодится: http://stackoverflow.com/questions/1067655/how-to-upload-a-file-using-java-httpclient-library-working-with-php/ 1068132 # 1068132 –

ответ

7

Если вы используете java 7 ImageIO - это класс, который вы можете использовать, чтобы проверить, не является ли файл изображением. ImageIO read() Этот метод возвращает null, если изображение не найдено.

+0

Возможно ли передать байтовый массив с ImageIO для чтения? –

+0

Вы можете попробовать преобразовать свой 'byte []' в 'ByteArrayInputStream' и передать его' ImageIO.read() 'который принимает' InputStream'. –

+0

Прохладный, это сработало. Большое спасибо. :-) –