• spring mvc 上传文件配置及格式


    文件上传#

    1.配置

    在spring mvc的配置文件中配置文件上传的Bean

    <!-- 文件上传 -->
    <bean id="multipartResolver"
    	class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    	<!-- 设置上传文件的最大尺寸为5MB -->
    	<property name="maxUploadSize">
    		<value>5242880</value>
    	</property>
    </bean>
    

    增加文件上传的jar包。commons-fileupload-1.2.2.jar、commons-io-2.4.jar

    2.结构

    1.前台页面

    表单增加 enctype="multipart/form-data"

    表单增加文件上传标签 <input type="file" name="items_pic"/>

    <form id="itemForm" action="" method="post" enctype="multipart/form-data">
    	<input type="file"  name="items_pic"/> 
    </form>
    

    2.后台代码

    Controller方法参加图片参数MultipartFile items_pic//接收商品图片

    注意:参数名要与前台的参数名一致。

    @RequestMapping("/editItemsSubmit")
    public String editItemsSubmit(MultipartFile items_pic) throws Exception {		
    	//原始名称
    	String originalFilename = items_pic.getOriginalFilename();
    	//上传图片
    	if(items_pic!=null && originalFilename!=null && originalFilename.length()>0){
    		
    		//存储图片的物理路径
    		String pic_path = "F:\develop\upload\temp\";
    		//新的图片名称
    		String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
    		//新图片
    		File newFile = new File(pic_path+newFileName);
    		//将内存中的数据写入磁盘
    		items_pic.transferTo(newFile);
    		//将新图片名称写到itemsCustom中
    		itemsCustom.setPic(newFileName);
    	}	
    	return "success";
    }
    

    3.注意:使用的时候发现一个问题,上传中文文件接收不到文件名,数字和英文的可以。

    这时候需要把tomcat的8080端口(HTTP连接器的端口标签,protocol="HTTP/1.1"的那个)和8080端口跳转的端口(8443,如果没有这个端口不加也行)的标签末尾加上URIEncoding="UTF-8",亲测可用。

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />
  • 相关阅读:
    Java之JDK的下载与安装,java环境变量的配置,Editplus的下载与使用
    JAVA基础语法
    数据库设计
    数据库练习题
    连接查询,子查询,联合查询
    Java内存管理-掌握虚拟机类加载器(五)
    Java内存管理-掌握虚拟机类加载机制(四)
    Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)
    Java内存管理-初始JVM和JVM启动流程(二)
    Java内存管理-程序运行过程(一)
  • 原文地址:https://www.cnblogs.com/zhuani21/p/5287976.html
Copyright © 2020-2023  润新知