Struts2上传文件错误

时间:2016-01-07 09:18:30

标签: file-upload configuration struts2 struts2-interceptors interceptorstack

我想将文件上传到我的网站项目,但我得到了:

  

WARN o.a.struts2.dispatcher.Dispatcher - 找不到创建多部分保存目录'/ temp'。       警告o.a.s.d.m.JakartaMultiPartRequest - 无法解析请求       org.apache.commons.fileupload.FileUploadBase $ IOFileUploadException:       处理multipart / form-data请求失败。       /temp/upload_1e39874d_effe_405b_9a92_3050ca60a661_00000000.tmp (没有此类文件或目录)

所以我想更改上传目录

<struts>
    <constant name="struts.multipart.saveDir" value="/tmp"></constant>
    <package name="brand-struts" extends="abstract-struts">
<action name="saveBatchBrandGoodsInfo" class="brandgoodsAction" 
                                      method="saveBatchBrandGoodsInfo">
            <interceptor-ref name="fileUpload">             
                <param name="savePath">/upload</param>  
                <param name="maximumSize">1024000</param>  
            </interceptor-ref> 
            <result name="data" type="json">
                <param name="root">data</param>
            </result>
        </action>
    </package>

</struts>  

但它不起作用,我一直得到同样的错误

1 个答案:

答案 0 :(得分:0)

  1. AFAIK,没有Select Count(T1.id) From Table1 T1 inner join Table2 T2 On T1.id = T2.id where T2.Date = ( Select Max(Date) from Table2 where Date > DATEADD(dd,30,cast(getdate() as date))) 包这样的东西。只需展开abstract-struts并移除struts-default自定义。

  2. 您只包含 fileUpload 拦截器,而不是整个 defaultStack 。你需要这样做:

    savePath
  3. 同时确保您的表单有<interceptor-ref name="defaultStack"> <param name="fileUpload.maximumSize">1024000</param> </interceptor-ref>