0

使用 Spring API(MultiPartFile) 上传文件(图像,..)在 localhost 上工作正常。

但是在 Linux 服务器上部署后,控制台显示 Spring API 解释上传文件的内容类型,例如application/octet-stream.,

    at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
    at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:449)
    at com.myproject.utils.upload.FileUploadUtil.uploadFile(FileUploadUtil.java:64)
    at com.myproject.utils.GenericFileUploadService$_upload_closure1.doCall(GenericFileUploadService.groovy:56)
    at com.myproject.utils.GenericFileUploadService.upload(GenericFileUploadService.groovy:53)
    at com.myproject.utils.GenericFileUploadService.upload(GenericFileUploadService.groovy:63)
    ... 7 more
org.springframework.web.multipart.commons.CommonsMultipartFile@1723bb6
content.AssetService File instance : org.springframework.web.multipart.commons.CommonsMultipartFile@1723bb6
println contentType =application/octet-stream

因此,当我使用 ImagikImage 将上传的文件转换为缩略图时,出现以下错误:

    `org.im4java.core.CommandException: org.im4java.core.CommandException: convert: unable to open image 
/var/lib/tomcat7/myproject/ROOT/media/5/34:  @ error/blob.c/OpenBlob/2587.

知道图片应该正常保存在以下路径

 /var/lib/tomcat7/myproject/ROOT/media/5/34.png

我找到了这个配置,但我不知道它的效率:

grails.web.disable.multipart=true 
4

1 回答 1

0

您的文件上传表单应该有一个属性enctype='multipart/form-data',如果没有,文件内容可以被视为 unicode 字符,并且您的图像文件会损坏

于 2013-09-22T11:16:57.893 回答