【问题标题】:request parameters null for file upload greater than 150kb with multipartfile upload, Spring 3.2, wildfly 9.0.0使用多部分文件上传,Spring 3.2,wildfly 9.0.0 的文件上传大于 150kb 的请求参数 null
【发布时间】:2015-09-22 11:33:16
【问题描述】:

我们将代码从 jboss 4 升级到 wildfly 9,并将 spring 2.5 升级到 spring 3.0,一切正常。

虽然我们使用 MultipartFile 上传小于 150kb 的文件,但它工作正常。但是当文件大小超过 150kb 时,所有请求参数和 multipartfile 变为空。

我们正在使用 Spring 3.2、java 8、wildfly 9.0

我附上我的代码供你参考

控制器

@Controller
@MultipartConfig(fileSizeThreshold=1024*1024*2, // 2MB
maxFileSize=1024*1024*10,      // 10MB
maxRequestSize=1024*1024*50)
public class MyPortFolioController{

@RequestMapping(value = UrlPrefix.consumer+"/myportfolio.htm", method = RequestMethod.POST)
    public ModelAndView uploadFile(@ModelAttribute Portfolio portfolio, BindingResult result, 
            Model model,@RequestParam("file")MultipartFile f,HttpServletRequest request,HttpServletResponse response, HttpSession session

jsp文件

    <form:form modelAttribute="portfolio" method="POST" id="myuplod" enctype="multipart/form-data" name="portfolioform">

<form:select path="protfolioTypeIdentifier" id="selectType" cssClass="form-control" cssStyle="width:auto;">
                                      <form:option value="0">Select one</form:option>
                                      <form:options items="${portfolioType}"
                                            itemValue="protfolioTypeIdentifier"
                                            itemLabel="portFolioTypeName" />
                                  </form:select>
<input type="file" name="file" class="btn btn-primary" onchange="dwr.util.byId('upportf').style.display='block';"/>
<input  type="submit" value="Upload" class="btn btn-warning" id="upportf" name="Upload" onclick="displayLoaderScreen();"/>

</form:form>

applicationContext.xml

<bean id="multipartResolvder" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
    <!-- 25 mb max -->
     <property name="maxUploadSize" value="26214400"/>
</bean>

请帮忙

【问题讨论】:

    标签: java spring file-upload multipartform-data


    【解决方案1】:

    大小为“maxInMemorySize”的文件存储在内存中,否则将直接存储在磁盘中。默认为 10KB(10240 字节)

    在 spring.xml 中添加这些行 在 spring.xml 中添加这些行

        <!-- mutipart upload configuration -->
        <bean id="multipartResolver"
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- max upload size in bytes 2MB-->
            <property name="maxUploadSize" value="2097152" />
            <!-- max size of file in memory (in bytes) 2MB -->
            <property name="maxInMemorySize" value="2097152" />
        </bean>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 2021-02-11
      • 2017-02-11
      • 2014-10-31
      • 2017-11-05
      • 2014-10-10
      • 2016-06-29
      相关资源
      最近更新 更多