0 0

SpringMVC上传问题,有文件能进Controller,没有上传文件进不了Controller0

昨天发现的问题, 现在还没解决了, 求支招~~~

问题描述:

执行添加操作的时候,添加页面的<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>

2014年11月21日 14:33

3个答案 按时间排序 按投票排序

0 0

@RequestParam(required = false)  MultipartFile file
把这个参数设为不是必须的

2015年4月22日 10:49
0 0

我也碰到同样的问题,怎么解决的?

2015年4月22日 10:15
0 0

把spring的debug日志打印出来,它会告诉你问题所在

2014年11月21日 15:58

相关推荐

    springmvc上传文件controller,vue

    在Spring MVC框架中,文件上传是一项常见的功能,用于接收客户端发送的文件数据。Vue.js作为一个前端框架,可以很好地与Spring MVC结合,实现用户界面的交互和文件上传的处理。在这个项目中,我们将深入探讨如何使用...

    SpringMVC+Ajax异步文件上传

    综上所述,结合`SpringMVC`和`Ajax`的文件上传解决方案能提供流畅的用户体验,同时短视频背景和`a`标签绑定文件域的技巧进一步提升了界面的交互性。在实际开发中,还需要考虑安全性、错误处理以及性能优化等问题,...

    IDEA SpringMVC 实现文件的上传下载

    在实际项目中,需要注意文件上传的安全问题,比如防止恶意文件上传、限制文件类型和大小、使用安全的文件命名策略等。此外,下载时应确保文件路径不会暴露敏感信息。 7. **IDEA的使用**: IntelliJ IDEA提供了...

    SpringMVC单文件上传、多文件上传、文件列表显示、文件下载

    以下将详细讲解SpringMVC如何实现单文件上传、多文件上传、文件列表显示以及文件下载。 1. **单文件上传** 在SpringMVC中,我们可以使用`@RequestParam("file") MultipartFile file`注解来接收前端提交的单个文件...

    SpringMVC文件上传Demo代码

    在SpringMVC中实现文件上传是一项常见的任务,它允许用户通过表单将本地文件发送到服务器进行存储或处理。这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们...

    springMVC上传文件.zip_springmvc_上传文件_文件上传

    文件上传过程中可能会出现各种问题,例如文件过大、文件类型不受支持等。因此,需要捕获并处理`MultipartException`及其子类,向用户返回错误信息。 7. **配置** 在SpringMVC的配置中,需要启用MultipartResolver...

    SpringBoot+SpringMVC+Freemarker实现单个上传和多个文件上传

    SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...

    Springmvc上传文件.docx

    SpringMVC 上传文件详解 SpringMVC 框架中上传文件是非常常见的操作,今天我们来详细讲解 SpringMVC 中的文件上传过程。 文件上传的必要条件 在 SpringMVC 中,文件上传需要满足以下几个条件: 1. 表单的 ...

    SpringMVC上传文件的四种方法

    在处理文件时,还需要注意文件大小限制、异常处理、安全性(防止恶意文件上传)等问题。在`Spirng-MVC-Photo`项目中,可能包含了示例代码和更详细的实现细节,你可以查阅这些文件来深入了解和实践。

    springMVC文件上传demo(亲测有效)

    在SpringMVC的Controller中,定义一个处理文件上传的接口。通常,我们使用`@RequestParam("filename") MultipartFile file`这样的参数来接收上传的文件。`MultipartFile`是Spring提供的一个接口,用于处理上传的...

    SpringMVC框架实现文件的上传和下载

    在SpringMVC框架中,文件的上传和下载是常见的功能需求,主要用于处理用户的数据交互,例如用户上传图片、文档等,或者系统提供文件下载服务。本文将深入探讨如何使用SpringMVC来实现这一功能。 首先,我们需要理解...

    springMVC文件上传所需jar包

    在处理文件上传功能时,SpringMVC需要依赖一些特定的库,这些库通常是以jar(Java Archive)文件的形式存在的。在这个压缩包中包含的两个关键jar文件——`com.springsource.org.apache.commons.io-1.4.0.jar`和`...

    springmvc框架的文件上传 下载

    在这个项目"springmvc框架的文件上传 下载"中,你可能会遇到如404错误等常见问题,下面将详细介绍SpringMVC中文件上传和下载的实现及其可能遇到的问题。 **文件上传** 1. **配置**: 首先,你需要在`dispatcher-...

    springmvc带进度条上传源码

    - 使用Ajax进行异步文件上传,使前端能够在不刷新页面的情况下与后端交互。 - 在Ajax请求的回调函数中处理进度更新,如使用`XMLHttpRequest`对象的`onprogress`事件。 6. **返回进度信息**: - 后端接收到文件...

    基于springMVC的文件上传功能

    在Web应用中,文件上传是一项常见的功能,SpringMVC作为Spring框架的一部分,提供了一种方便、灵活的方式来实现这个功能。本文将深入探讨如何利用SpringMVC实现基于Java的文件上传功能,以及在eclipse开发环境中,...

    SpringMVC文件上传案例

    如果文件上传过程中发生异常,如文件过大、文件类型不合法等,可以返回错误视图或提供错误信息。 6. **安全考虑**: - 验证文件大小和类型:限制上传文件的最大尺寸,检查文件扩展名,防止恶意文件上传。 - 文件...

    JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告.docx

    在JavaEE企业级开发中,SpringMVC框架是广泛用于构建Web应用程序的工具,它提供了丰富的功能,包括处理文件上传和下载。本实验报告将详细阐述如何利用SpringMVC实现文件上传与下载的功能。 首先,文件上传的核心...

    SpringMVC 跨服务器文件上传

    本示例主要探讨如何使用SpringMVC实现在不同服务器之间的文件上传,以实现文件服务器与业务逻辑的解耦。 首先,我们需要理解为什么要进行跨服务器文件上传。在大型系统中,为了提高系统的稳定性和可扩展性,通常会...

    SpringMVC文件上传multpathfileJar包commons-fileupload-1.3.3

    在实际开发中,还需要考虑文件上传失败的情况,如文件过大、文件类型不匹配等,需要有适当的错误提示和异常处理机制。 7. **性能优化**: 对于大文件上传,可以考虑使用流式处理,避免一次性加载整个文件到内存。...

    springmvc+hadoop+maven实现文件上传至hdfs

    在本项目中,我们结合了SpringMVC、Hadoop和Maven这三个技术,构建了一个能够实现文件从Web端上传到HDFS(Hadoop Distributed File System)的系统。下面将详细阐述这三个技术及其在项目中的应用。 首先,SpringMVC...

Global site tag (gtag.js) - Google Analytics