昨天发现的问题, 现在还没解决了, 求支招~~~
问题描述:
执行添加操作的时候,添加页面的<input type="file">如何没有选择文件就进不去Controller。
问题很有可能在Controller这行代码里:
@RequestParam("attachs") MultipartFile[] attachs
因为,去掉这行代码,不管有没有选择上传文件,都可以进到Controller,但不加这个,有没法上传了 。。。。。 好纠结呀~~
@Controller代码:
@RequestMapping("/u/con")
//ajax
@RequestMapping(value = "/addNews", method = RequestMethod.POST)
public String addNews(@RequestParam("attachs") MultipartFile[] attachs,Model model,HttpServletRequest request) throws Exception{
String realpath =request.getSession().getServletContext().getRealPath("/resources/upload");
System.out.println(realpath);
for(MultipartFile attach:attachs) {
if(attach.isEmpty())continue;
File f = new File(realpath+"/"+attach.getOriginalFilename());
System.out.println("Name:"+attach.getName());
System.out.println("ContentType:"+attach.getContentType());
System.out.println("OriginalFilename:"+attach.getOriginalFilename());
System.out.println("Size:"+attach.getSize());
System.out.println("Bytes:"+attach.getBytes());
System.out.println("Class:"+attach.getClass());
System.out.println("InputStream:"+attach.getInputStream());
FileUtils.copyInputStreamToFile(attach.getInputStream(),f);
}
//return "themes/ace/back/content/content_list";
//response.getWriter().write("ok");
return null;
}
修改成
@RequestParam(value="attachs",required=false)MultipartFile[]attachs
问题还是一样存在, 就是添加页面如果选择了上传的文件,一切正常,如果没选择就进不去Controller
页面:
<form id="form1" class="form-horizontal" role="form" action="/u/con/addNews" method="post" enctype="multipart/form-data" >
// ajaxSubmit
$("#submitBtn").click(function () {
$("#form1").ajaxSubmit();
});
配置:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="50000000"></property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
相关推荐
在Spring MVC框架中,文件上传是一项常见的功能,用于接收客户端发送的文件数据。Vue.js作为一个前端框架,可以很好地与Spring MVC结合,实现用户界面的交互和文件上传的处理。在这个项目中,我们将深入探讨如何使用...
综上所述,结合`SpringMVC`和`Ajax`的文件上传解决方案能提供流畅的用户体验,同时短视频背景和`a`标签绑定文件域的技巧进一步提升了界面的交互性。在实际开发中,还需要考虑安全性、错误处理以及性能优化等问题,...
在实际项目中,需要注意文件上传的安全问题,比如防止恶意文件上传、限制文件类型和大小、使用安全的文件命名策略等。此外,下载时应确保文件路径不会暴露敏感信息。 7. **IDEA的使用**: IntelliJ IDEA提供了...
以下将详细讲解SpringMVC如何实现单文件上传、多文件上传、文件列表显示以及文件下载。 1. **单文件上传** 在SpringMVC中,我们可以使用`@RequestParam("file") MultipartFile file`注解来接收前端提交的单个文件...
在SpringMVC中实现文件上传是一项常见的任务,它允许用户通过表单将本地文件发送到服务器进行存储或处理。这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们...
文件上传过程中可能会出现各种问题,例如文件过大、文件类型不受支持等。因此,需要捕获并处理`MultipartException`及其子类,向用户返回错误信息。 7. **配置** 在SpringMVC的配置中,需要启用MultipartResolver...
SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...
SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...
在处理文件时,还需要注意文件大小限制、异常处理、安全性(防止恶意文件上传)等问题。在`Spirng-MVC-Photo`项目中,可能包含了示例代码和更详细的实现细节,你可以查阅这些文件来深入了解和实践。
在SpringMVC的Controller中,定义一个处理文件上传的接口。通常,我们使用`@RequestParam("filename") MultipartFile file`这样的参数来接收上传的文件。`MultipartFile`是Spring提供的一个接口,用于处理上传的...
在SpringMVC框架中,文件的上传和下载是常见的功能需求,主要用于处理用户的数据交互,例如用户上传图片、文档等,或者系统提供文件下载服务。本文将深入探讨如何使用SpringMVC来实现这一功能。 首先,我们需要理解...
在处理文件上传功能时,SpringMVC需要依赖一些特定的库,这些库通常是以jar(Java Archive)文件的形式存在的。在这个压缩包中包含的两个关键jar文件——`com.springsource.org.apache.commons.io-1.4.0.jar`和`...
在这个项目"springmvc框架的文件上传 下载"中,你可能会遇到如404错误等常见问题,下面将详细介绍SpringMVC中文件上传和下载的实现及其可能遇到的问题。 **文件上传** 1. **配置**: 首先,你需要在`dispatcher-...
- 使用Ajax进行异步文件上传,使前端能够在不刷新页面的情况下与后端交互。 - 在Ajax请求的回调函数中处理进度更新,如使用`XMLHttpRequest`对象的`onprogress`事件。 6. **返回进度信息**: - 后端接收到文件...
在Web应用中,文件上传是一项常见的功能,SpringMVC作为Spring框架的一部分,提供了一种方便、灵活的方式来实现这个功能。本文将深入探讨如何利用SpringMVC实现基于Java的文件上传功能,以及在eclipse开发环境中,...
如果文件上传过程中发生异常,如文件过大、文件类型不合法等,可以返回错误视图或提供错误信息。 6. **安全考虑**: - 验证文件大小和类型:限制上传文件的最大尺寸,检查文件扩展名,防止恶意文件上传。 - 文件...
在JavaEE企业级开发中,SpringMVC框架是广泛用于构建Web应用程序的工具,它提供了丰富的功能,包括处理文件上传和下载。本实验报告将详细阐述如何利用SpringMVC实现文件上传与下载的功能。 首先,文件上传的核心...
本示例主要探讨如何使用SpringMVC实现在不同服务器之间的文件上传,以实现文件服务器与业务逻辑的解耦。 首先,我们需要理解为什么要进行跨服务器文件上传。在大型系统中,为了提高系统的稳定性和可扩展性,通常会...
在实际开发中,还需要考虑文件上传失败的情况,如文件过大、文件类型不匹配等,需要有适当的错误提示和异常处理机制。 7. **性能优化**: 对于大文件上传,可以考虑使用流式处理,避免一次性加载整个文件到内存。...
在本项目中,我们结合了SpringMVC、Hadoop和Maven这三个技术,构建了一个能够实现文件从Web端上传到HDFS(Hadoop Distributed File System)的系统。下面将详细阐述这三个技术及其在项目中的应用。 首先,SpringMVC...