我在我的应用中上传图片并将其保存在web-app / myCustomFolderImages中。 当我想要删除一些这样的图像时,我遇到了两个问题:
有时当我上传后立即删除文件时,我无法执行此操作,javaw.exe阻止文件。有什么东西在缓存这个文件吗?
主要问题,当我删除文件,然后上传时,控制台会写入此堆栈:
Resource reload failed!:
java.io.FileNotFoundException: URL [file:.../z5c2ex/004_1_-thumbnail.jpg] cannot be resolved in the file system for resolving its last-modified timestamp
at org.springframework.core.io.AbstractResource.lastModified(AbstractResource.java:144)
at org.springframework.core.io.AbstractFileResolvingResource.lastModified(AbstractFileResolvingResource.java:173)
at org.springframework.core.io.Resource$lastModified.call(Unknown Source)
at org.grails.plugin.resource.ResourceMeta.isDirty(ResourceMeta.groovy:147)
at sun.reflect.GeneratedMethodAccessor679.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springsource.loaded.ri.OriginalClassInvoker.invoke(OriginalClassInvoker.java:47)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1272)...
对于Grails资源插件,这些图像是静态的。当我使用grails.resources.adhoc.excludes
选项时,我的图像根本不会在网站上呈现。
有没有什么好方法可以从grails app上传和删除动态图像(文件)?
答案 0 :(得分:1)
我解决了这个问题,解决方案很简单:我直接访问图像(myapp.com/imagesFolder/image.jpg),而不是资源插件(不是grails标签
<g:img>
)。