java - 使用 Spring MVC 将文件上传到服务器目录

标签 java spring spring-mvc

我正在尝试从客户端计算机将文件上传到服务器目录。我使用了以下代码:

文件上传.jsp

<form:form commandName="fileUpload" action="upload.action" method="post"  enctype="multipart/form-data">
<form:label path="fileData">Upload a File</form:label> <br />
<form:input type="file"  path="fileData" />
<input type="submit" value="upload" >
</form:form>

在我的 Controller 中:

@RequestMapping("/upload.action")
public String upload(@ModelAttribute("fileUpload") FileUpload fileUpload,HttpServletResponse response,Model model)
{
    CommonsMultipartFile multipartFile = fileUpload.getFileData();
    String orginalName = multipartFile.getOriginalFilename();
    String filePath = "/my_uploads/"+orginalName;
    File destination = new File(filePath);
    String status ="success";
    try {
        multipartFile.transferTo(destination);
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        status="failure";
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        status="iofailure";
    }
    model.addAttribute("status", status);
    return "home";
}

文件上传.java :

{
   private CommonsMultipartFile fileData;
   ....
}

NullPointerExceptionString orginalName = multipartFile.getOriginalFilename(); 行抛出 .. 我做错了什么??

最佳答案

尝试将 MultipartFile 作为参数添加到您的请求处理程序中。

@RequestMapping("/upload.action")
public String upload(@RequestParam(value = "file") MultipartFile file,
        HttpServletResponse response,Model model)
{
    //Controller logic...
}

这将要求您在调度程序的配置中注册一个新 bean。

<bean id="multipartResolver"
   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="5000000"/>
</bean>

关于java - 使用 Spring MVC 将文件上传到服务器目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101558/

相关文章:

java - Robot.keyPress 不适用于 VK_ALT_GRAPH(无效的键代码)

spring-mvc - Thymeleaf错误消息优化

java - 使用 spring-mvc 4.1 解析 multipart/form-data (不是文件上传)时遇到问题

spring - 对 "keep me signed in"使用 java spring AbstractPreAuthenticatedProcessingFilter

java - "error: cannot find symbol"符号位于 Switch 语句内

java - 按计划进行缓存驱逐后,Spring 缓存未被使用

java - 使用 SNS 通知触发 lambda 不起作用

java - Spring 项目的 JDeveloper 12.2.1.2 配置

java - 在 Spring 中重构这个的最佳方法?

java - 不使用 web.xml 加载应用程序上下文