无法上传大文件

时间:2013-10-07 13:14:28

标签: java jquery jsp file-upload struts2

我想上传大量的图片文件(最大尺寸10mb) 因为我使用以下配置是struts.xml

<interceptors>
    <interceptor-stack name="fileUploadStack">
        <interceptor-ref name="exception" />
        <interceptor-ref name="alias" />
        <interceptor-ref name="servletConfig" />
        <interceptor-ref name="prepare" />
        <interceptor-ref name="i18n" />
        <interceptor-ref name="chain" />
        <interceptor-ref name="debugging" />
        <interceptor-ref name="profiling" />
        <interceptor-ref name="scopedModelDriven" />
        <interceptor-ref name="modelDriven" />
        <interceptor-ref name="fileUpload">
            <param name="maximumSize">10485760</param>
            <param name="allowedTypes">image/jpg,image/jpeg,image/gif,image/png,image/pjpeg</param>
        </interceptor-ref>
        <interceptor-ref name="checkbox" />
        <interceptor-ref name="staticParams" />
        <interceptor-ref name="actionMappingParams" />
        <interceptor-ref name="params">
            <param name="excludeParams"> dojo\..*,^struts\..*</param>
        </interceptor-ref>
        <interceptor-ref name="conversionError" />
        <interceptor-ref name="validation">
            <param name="excludeMethods"> input,back,cancel,browse</param>
        </interceptor-ref>
        <interceptor-ref name="workflow">
            <param name="excludeMethods"> input,back,cancel,browse</param>
        </interceptor-ref>
    </interceptor-stack>
</interceptors>
   <action name="ownmessageswithimage" class="social.action.UserMessages" method="insertImage">
    <result name="success">/pages/profile/userSingleMessage.jsp</result>
    <result name="input">/pages/errorpages/ajaxError.jsp</result>
    <result name="login">/pages/pleaselogin.jsp</result>
</action>

编辑: 这是我的jsp文件代码

     <script  type="text/javascript" src="js/jquery.form.js"></script>
        <form id="own_message_post" action="ownmessageswithimage" method="post"> 
            <input id="fileupload" type="file" name="user_post_image"  data-url="ownmessages" />
<textarea name="message"  rows="4" cols="45" id="text_message_status" 
                  ></textarea><br>
                    <input type="submit" value="Post" id="submit_form_button" 
                   style="background:#004091;padding: 2px 20px 2px 20px;color: whitesmoke;font-weight: bold" />
        </form>
        <script type="text/javascript">
            $('#own_message_post').ajaxForm(function(data) {

                $('#fileupload').val("");

            }); 
        </script>

我正在使用malsup异步文件上传脚本 但问题是它不能上传大达10 MB的大文件。 如何使它成为可能。

3 个答案:

答案 0 :(得分:1)

您应该将常量添加到配置文件,以允许多部分内容大小达到10M

<constant name="struts.multipart.maxSize" value="10485760"/>

答案 1 :(得分:0)

我不确定它是否有帮助但我在客户端使用表单时使用了多部分加密来上传大文件。

这是从表单中的文件输入框发送文件。 我不确定struts。

答案 2 :(得分:0)

似乎<param name="allowedTypes">image/jpg,image/jpeg,image/gif,image/png,image/pjpeg</param>允许您仅上传此类型的图片。在那里添加其他MIME类型,例如text/xmlany other types