Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 图像上传在spring中不起作用_Java_Jquery_Spring_Image_Uploadify - Fatal编程技术网

Java 图像上传在spring中不起作用

Java 图像上传在spring中不起作用,java,jquery,spring,image,uploadify,Java,Jquery,Spring,Image,Uploadify,我有一个spring2.0应用程序,我们使用uploadify jquery插件2.1版本来实现图像上传功能 问题是:当我试图用java代码上传任何图像时,它说它的分辨率是0dpi。但我检查了一下,我是300dpi。 为什么会这样?我的uploadify配置是: $('#imageFile1').uploadify({ 'uploader' : '../uploadify/uploadify.swf', 'script' : 'images.htm', 'scriptData' :

我有一个spring2.0应用程序,我们使用uploadify jquery插件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代码

在上面的代码中,image.getDpiX始终为零

我还注意到一件奇怪的事情:当我在window7机器上检查图像分辨率时,它说它是300dpi,但当我在windows server机器上检查相同的图像时,使用我正在连接的citrix,它的屏幕分辨率很低,它显示的是96dpi。为什么会这样


请告诉我您想让我发布任何其他内容。

我在这里面临两个问题:

在java代码中,它显示图像的分辨率为0 DPI。所以我 找到了两种解决方案。a我发现了那几张照片 信息丢失,因此,我打开了该图像并再次保存 用不同的名字,在那之后它工作得很好。 b我更新 然后,我的项目中的iText.jar也可以正常工作,而不需要执行任何操作 任何有图像的东西。 正如@chrylis在上面的评论中所说,它显示了该图像的默认DPI,因为该信息丢失了。
它在说什么?你在哪里看到这些问题?还要注意的是,很多软件都假设JPEG的分辨率为96dpi。我正在调试我的代码,并在fly上检查所有这些值检查它们在哪里?如何解决?在上面的问题中,我在两个地方遇到了问题:1在我的java代码中,它显示的是0 dpi。这是我在调试代码时检查的。2在不同的操作系统中,它到处显示不同的分辨率。我用MSPaint检查了这个,我认为你是对的,假设96dpiYou没有显示任何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.");
        }

}