当前位置: 首页 > news >正文

SpringMVC初写(四)上传和下载功能的实现

一.文件上传

流程:

  1. 导入包commons-fileuplad组件和依赖包commons-io组件
  2. 配置springmvc支持上传的组件:
    • 启动SpringMVC注解支持
    • 配置上传解释器
  3. 构建一个上传表单
  4. 在业务控制器Controller中编写上传文件的处理方法代码

导入需要的的包

 

配置SpringMVC配置文件

注:因为在SpringMVC核心控制器DispacherServlet源码中,multipartResolver是一个固定加载属性,因此配置的上传解释器名字必须是multipartResolver

 

前台构建一个上传表单

注:文件上传的前提(1)提交方式为Post(2)enctype为multipart/form-data

 

控制器处理代码

 

 

多文件上传:

前台上传表单:

 

控制器处理代码

 

 二.文件下载

流程:

  1. 读取本地文件
  2. 将读取的文件显示到页面上
  3. 页面点击下载,下载文件
  4. 解决中文乱码问题

前台界面:

 

控制器代码

负责跳转到文件下载页面(将文件名放入作用域中)

 

文件下载页面:

利用jstl语句将文件信息输出,在下载标签中调用控制器方法,并传回文件名参数

 

控制器方法:

处理中文的问题,是将文件信息以ISO-8859-1的编码格式打散后,重新以浏览器的字符集进行编码

 

转载于:https://www.cnblogs.com/lch-Hao/p/10765679.html

相关文章:

  • 19-04-25
  • CentOS7下使用NFS文件共享给Window server 2012
  • 从技术人视角看闪电网络之微支付通道
  • java基础 数据类型转换
  • 即将到来的 Debian 10 Buster 发布版的新特点
  • server 2016 安装web+DNS服务
  • xtrabackup2.4选项参考
  • Vue.js - day6
  • 图文并茂的带你彻底理解悲观锁与乐观锁
  • Python项目实战:实现QQ抽屉功能效果展示
  • JAVA之流程控制语句
  • | 刘知远:让计算机听懂人话
  • 原来... 反调试技术揭秘(转)
  • 【微信事业群】趣味面试算法题
  • Go 夜读 - 每周四晚上 Go 源码阅读技术分享
  • php的引用
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【mysql】环境安装、服务启动、密码设置
  • express如何解决request entity too large问题
  • Material Design
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • php的插入排序,通过双层for循环
  • Swoft 源码剖析 - 代码自动更新机制
  • Webpack入门之遇到的那些坑,系列示例Demo
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 服务器之间,相同帐号,实现免密钥登录
  • 构建工具 - 收藏集 - 掘金
  • 老板让我十分钟上手nx-admin
  • 你不可错过的前端面试题(一)
  • 排序算法学习笔记
  • 判断客户端类型,Android,iOS,PC
  • 配置 PM2 实现代码自动发布
  • 如何解决微信端直接跳WAP端
  • 如何用vue打造一个移动端音乐播放器
  • 温故知新之javascript面向对象
  • HanLP分词命名实体提取详解
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转)jdk与jre的区别
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • *Django中的Ajax 纯js的书写样式1
  • .NET大文件上传知识整理
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .ui文件相关
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @font-face 用字体画图标
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • @RestController注解的使用
  • @vue/cli 3.x+引入jQuery