尝试在struts2中上传图片时,图片无法上传msg无法找到'struts.multipart.saveDir'

时间:2012-04-19 13:39:35

标签: struts2

尝试在struts2中上传图片时,图片无法上传并显示以下信息无法找到'struts.multipart.saveDir'属性设置。默认为javax.servlet.context.tempdir

2 个答案:

答案 0 :(得分:2)

这是手动配置,一旦上传文件,你必须明确处理保存文件(由于安全原因服务器立即删除文件。)

import org.apache.commons.io.FileUtils;

String fullFileName = "d:/temp/"+uploadFileName;

File destFile = new File(fullFileName);

FileUtils.copyFile(upload, destFile);

来源:FileUpload

您可以在struts.properties文件中配置它

struts.multipart.saveDir - 上传文件的目录。如果未设置此属性,则默认为javax.servlet.context.tempdir。

将上传的文件放在/ tmp中。我的申请将把他们移到最终目的地

 struts.multipart.saveDir=/tmp

答案 1 :(得分:2)

由于S2的构建功能,您收到此消息。您需要告诉S2文件上传拦截器您要在struts.multipart.saveDir文件中使用struts.property属性放置上传的文件,或者struts.xml文件中的常量,如

Struts属性文件

struts.multipart.saveDir=location of your choice

struts.xml文件

<constant name="struts.multipart.saveDir" value="your location" />

如果未设置此属性,则默认为javax.servlet.context.tempdir。正弦S2将上传文件放在临时目录中,以防您未指定saveDir但过程完成后,以便进行清理过程将删除该临时文件,因此请确保您已设置saveDir参数,或者您应该在您的操作类中放置逻辑以从中选择文件并将其移动到您选择的位置。

有关S2文件上传的详细信息,请阅读官方文档