java - 对于大于 150kb 的文件上传请求参数为 null,多部分文件上传,Spring 3.2,wildfly 9.0.0

标签 java spring file-upload multipartform-data

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

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

我们使用的是 Spring 3.2、java 8、wildfly 9.0

我附上我的代码供您引用

Controller

@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>

请帮忙

最佳答案

大小为“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>

关于java - 对于大于 150kb 的文件上传请求参数为 null,多部分文件上传,Spring 3.2,wildfly 9.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715751/

相关文章:

file-upload - 在经典的ASP中上传文件

Spring - 如何测试具有 ApplicationEventPublisher 依赖关系的 Controller ?

javascript - 简单的 Ajax uploader 插件停止工作

java - 正则表达式:捕获两个单词之间的单词

java - 使用 Spring MVC 映射资源

spring - 一个junit测试类的多个runwith

java - Hibernate 嵌套 JoinColumns 会导致从数据库中进行大量查询,并包含不必要的数据

ruby-on-rails - Rails 3 Carrierwave-azure Azure::Core::Http::HTTPError OutOfRangeInput (400):请求输入之一超出范围

java - TestLink XML-RPC 对 xml-rpc 客户端的调用失败

java - MPI、Sungrid 与 JPPF?