10.文件上传

Spring MVC 为 文 件 上 传 提 供 了 直 接 的 支 持 , 这 种 支 持 是 通 过 即 插 即 用 的MultipartResolver 实现的。
Spring 用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMultipartResolver
Spring MVC 上下文中默认没有装配 MultipartResovler,因此默认情况下不能处理文件的 上 传 工 作 , 如 果 想 使 用 Spring 的 文 件 上 传 功 能 , 需 现 在 上 下 文 中 配 置MultipartResolver
配置 MultipartResolver
defaultEncoding: 必须和用户 JSP 的 pageEncoding 属性一致,以便正确解析表单的内容 , 为 了 让 CommonsMultipartResolver 正 确 工 作 , 必 须 先 将 Jakarta Commons FileUpload 及 Jakarta Commons io 的类包添加到类路径下。
在这里插入图片描述

文件上传示例
导入 jar 包

commons-fileupload-1.2.1.jar
commons-io-2.0.jar
配置文件上传解析器

<!-- 配置文件上传解析器
id 必须是"multipartResolver",否则,会报错误:
java.lang.IllegalArgumentException: Expected
MultipartHttpServletRequest: is a MultipartResolver configured?
-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="UTF-8"></property><property name="maxUploadSize" value="1024000"></property>
</bean>
上传页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title></head><body><form action="${pageContext.request.contextPath}/upload" method="post" enctype="multipart/form-data"><input type="file" name="file"><input type="text" name="name"><input type="submit"></form></body>
</html>
后台controller
/*** SpringMVC方式的文件上传** @param request* @return* @throws Exception*/@RequestMapping(value = "/upload")public String fileupload2(HttpServletRequest request, MultipartFile upload,String name) throws Exception {System.out.println("SpringMVC方式的文件上传...");// 先获取到要上传的文件目录String path = request.getSession().getServletContext().getRealPath("/uploads");// 创建File对象,一会向该路径下上传文件File file = new File(path);// 判断路径是否存在,如果不存在,创建该路径if (!file.exists()) {file.mkdirs();}// 获取到上传文件的名称String filename = upload.getOriginalFilename();String uuid = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();// 把文件的名称唯一化filename = uuid + "_" + filename;// 上传文件upload.transferTo(new File(file, filename));return "success";}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336338.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是活动的DWDM网络?

DWDM系统被认为是一个基于应答器的系统&#xff0c;可以帮助在数据中心互连设置中在站点之间传输大量数据。不同于无源DWDM网络&#xff0c; DWDM网络通常包括OEO、主动DWDM Mux Demux、EDFA、DCM和其他主动WDM组件&#xff0c;更适合远程传输。此外&#xff0c;主动DWDM网络还…

小美的蛋糕切割(美团2024届秋招笔试第一场编程真题)

题目分析&#xff1a;切蛋糕问题切记可以横着切&#xff0c;也可以竖着切。本题目需要快速求得两个矩形的和&#xff0c;可以用二维前缀和数组解决。然后枚举一刀切的位置。 #include <iostream> #include <algorithm> using namespace std; int a[1005][1005]; l…

投稿《证券期货业-测试技术与质量管理》的文章发表了

前一段时间给《证券期货业-测试技术与质量管理》季刊投稿的文章在第32期发表了&#xff0c;题目是《大数据背景下基于信息熵增益率的数据生成》 第一次给行业内专业的机构投稿&#xff0c;过程也算是比较辛苦&#xff0c;已经很少这么正式的编写一篇文章了&#xff0c;经过三轮…

C#封装服务

C#封装服务 新建服务项目&#xff1b;重构 OnStart 和 OnStop using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using S…

针对远程40G网络的DWDM解决方案

目前&#xff0c;用户和企业积累的数据量非常巨大&#xff0c;并在不断增长。因此&#xff0c;存储和访问这些数据也变得更加苛刻&#xff0c;需要更高的数据容量和更长距离的数据传输。我们的一个客户正在考虑为现有的40G网络添加DWDM系统&#xff0c;作为一种更严肃的未来技术…

市域治理一体化综合指挥平台解决方案:PPT全文42页,附下载

关键词&#xff1a;市域社会治理&#xff0c;智慧网格&#xff0c;市域社会治理现代化&#xff0c;智慧网格综合管理平台&#xff0c;市域治理 一、市域治理&#xff08;智慧网格&#xff09;一体化建设需求分析 1、职能部门需求&#xff1a;职能部门在市域治理中发挥着主导作…

web自动化之巩固练习(第九天)

练习1 一.对于这个网址 https://www.51job.com 1.点击搜索 2.输入搜索关键词-python 3.选择工作职能--互联网技术-高级软件工程师 4.地区选择杭州&#xff08;点击地区按钮&#xff0c;把默认的城市取消掉&#xff0c;选择杭州&#xff0c;点击确定按钮&#xff09; 5.打印搜索…

RK3566环境搭建

环境&#xff1a;vmware16&#xff0c;ubuntu 18.04 安装依赖库&#xff1a; sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakero…

信号浪涌保护器的原理和行业应用方案

信号浪涌保护器&#xff08;Surge Protective Device&#xff0c;简称SPD&#xff09;是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置&#xff0c;主要用于保护各类信号线路及设备的防雷安全。信号浪涌保护器的原理是利用气体放电管、压敏电阻、齐纳二极管等非线…

一篇文章了解做仿真软件的达索系统-达索代理商

达索系统是一家全球领先的仿真软件公司&#xff0c;致力于为客户提供创新和高效的解决方案。该公司的仿真软件被广泛应用于航空航天、汽车、能源、医疗等领域&#xff0c;为客户提供了强大的工程仿真能力。 达索系统的仿真软件具有多个特点&#xff0c;包括高精度、高效率、易用…

07、Kafka ------ 消息生产者(演示 发送消息) 和 消息消费者(演示 监听消息)

目录 Kafka --- 消息生产者★ 消息★ 消息的分发机制★ 分发到哪个分区★ 轮询策略&#xff08;round-robin&#xff09;★ 使用命令行工具发送消息演示添加消息 Kafka --- 消息消费者★ 消息消费者命令▲ 监听 【指定主题】 的所有消息:▲ 监听 【指定主题、指定分区】的所有消…

智能化输电线路定位技术:提升电网运行效率的未来发展方向

随着科技的不断发展&#xff0c;电力行业也在逐步引入智能化技术&#xff0c;以提高输电线路的运行效率和安全性。在这篇文章中&#xff0c;恒峰智慧科技将探讨一种新的输电线路定位技术——分布式行波测量技术&#xff0c;它如何帮助我们实现这一目标。 一、分布式故障定位及隐…