2015-04-15 5 views
0

У меня есть приложение spring2.0, и мы используем версию jQuery plugin 2.1 для реализации функции загрузки изображений.Загрузка изображения не работает весной

Проблема заключается в следующем:, когда я пытаюсь загрузить любое изображение в код java, он говорит, что это разрешение 0dpi. Но я проверил, что я был 300dpi. Почему это происходит? Моя Uploadify конфигурация:

$('#imageFile1').uploadify({ 
'uploader' : '../uploadify/uploadify.swf', 
'script' : 'images.htm', 
'scriptData' : {'currentFormSpecId' : '${myCommand.formId}'}, 
'cancelImg' : 'cancel.png', 
'auto'  : false, 
'multi'  : true, 
'wmode'  : 'transparent', 
'width'  : 130, 
'queueID' : 'fileQueue', 
'queueSizeLimit' : 15, 
'folder' : '../uploadify', 
'fileDesc' : '*.jpg;*.jpeg;*.tif;*.tiff;*.eps', 
'fileExt' : '*.jpg;*.jpeg;*.tif;*.tiff;*.eps', 
'sizeLimit' : 102400000, 
'onError': function(event, queueID, fileObj, errorObj) { 
// Error display 
}, 
'onComplete': function(event, queueID, fileObj, response, data) { 
//success display 

}); 

код Java

public ModelAndView uploadImagesToDisk (HttpServletRequest request, 
      HttpServletResponse response, Object command, BindException errors) throws Exception { 
     String currentFormId = request.getParameter("currentFormSpecId"); 

     DefaultMultipartHttpServletRequest multipartHttpServletRequest = 
       (DefaultMultipartHttpServletRequest) request; 

     MultipartFile multipartFile = multipartHttpServletRequest.getFile("Filedata"); 

     OutputStream outputStream = null; 

     try { 
      String imageFileName = multipartFile.getOriginalFilename(); 
      String imageFileExtension = getFileExtension(multipartFile); 
      Image image = Image.getInstance(multipartFile.getBytes()); 
     if ((image.getDpiX() < MINIMUM_DPI) || (image.getDpiY() < MINIMUM_DPI)) { 
      throw new Exception("ERROR: The image (" + multipartFile.getOriginalFilename() 
        + ", " + image.getDpiX() + " dpi) " + 
        " your are attempting to upload does not meet the requirements " + 
      "for minimum resolution of 300 dpi. Please upload another image."); 
     } 

} 

в коде выше image.getDpiX() всегда наступающем нулю. более

одна странная вещь, которую я заметил: Когда я проверил разрешение изображения в моей Window7 машине он говорит это 300dpi, но когда я проверяю тот же образ в окна машины сервера (с помощью Citrix я подключаю и имеет низкое разрешение экрана), он показывает 96 точек на дюйм. Почему это происходит?

Пожалуйста, дайте мне знать, что вы хотите, чтобы я опубликовал что-нибудь еще.

+0

«Это говорит?» Где вы видите эти проблемы? Отметим также, что большое количество программного обеспечения просто предполагает 96dpi для JPEG. – chrylis

+0

Я отлаживаю свой код и проверяю все эти значения «на лету» – user3035305

+0

Проверка их где? Как? – chrylis

ответ

0

я столкнулся с двумя проблемами здесь:

  1. В Java коде, он показывает 0 разрешение DPI для изображения. Так I найдено два решения для этого.
    a) Я обнаружил, что осталось немного изображений , поэтому я открыл это изображение и сохранил его снова с другим именем, после чего он работал нормально.
    b) Я обновляю iText.jar в своем проекте, а затем он отлично работал, не делая ничего с изображением.
  2. Как сказал @chrylis в комментариях, он показывал DPI по умолчанию для этого изображения, поскольку эта информация отсутствовала.
Смежные вопросы