1

实际上我的要求是将上传的文件存储在类路径目录中,即src/main/resources/uploads. (我正在使用 Maven 项目)

但是调度程序无法找到此路径。我收到以下错误。

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'uploadTempDir' threw exception; nested exception is java.io.FileNotFoundException: class path resource [uploads] cannot be resolved to URL because it does not exist

在调度程序文件中添加以下配置:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="1048576"/>
    <property name="uploadTempDir" ref="uploadDirResource"/>
</bean>

<bean id="uploadDirResource" class="org.springframework.core.io.ClassPathResource">
    <constructor-arg>
        <value>/uploads</value>
    </constructor-arg>
</bean>
4

1 回答 1

0

pathsrc/main/resources(/uploads)是 Maven 在编译之前使用的路径。您的服务器对这条路径一无所知!

中的人工制品在src/main/resources(/uploads)war 文件中复制到目录WEB-INF/classes/uploads中。

但是这个目录也包含java类文件,你不应该允许用户修改或添加文件到那个目录!

您的配置可能不正确的一点是

<value>/uploads </value>

于 2012-04-19T12:48:14.230 回答