上传文件有很多种方法,这里主要讲解的是spring mvc内提供的文件上传

前提使用:spring mvc

在这个之前我们需要把环境给配置好

1:springmvc的XML配置文件加上这一段就即可,

<!-- 配置文件上传 -->
<!--**1024即200M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="" />
<property name="maxUploadSizePerFile" value=""/>
<property name="defaultEncoding" value="UTF-8" />
<property name="resolveLazily" value="true" />
</bean>

2:在JSP页面我们需要注意的一点是需要在form标签里面加上

enctype="multipart/form-data"  这一段

 <form class="layui-form" action="" method="post" enctype="multipart/form-data">
 ………… 
 <input type="file" name="ufiles"/>
…………
<form>

3:在控制层接收文件,实现上传

 //在控制层接受到文件,然后调用文件上传方法
//方法返回的是一个存入数据库的路径,也可以根据自己需求进行修改
@RequestMapping("/updateUser")
public String updateUser(MultipartFile ufiles,HttpSession session){
     //调用上传文件方法,返回一个保存到数据库的路径
String imgUrl= FileUploading.uploading(ufiles,session);
return "redirect:/userPage/update.jsp";
}

4:文件上传方法

public class FileUploading {

    /**
* 文件上传
* @param ufiles
* @param session
* @return 保存到数据库的路径
*/
public static String uploading(MultipartFile ufiles, HttpSession session){
if(!ufiles.isEmpty()){
//获取放置图片的路径
String beanPath = session.getServletContext().getRealPath("/images");
//获取图片名字
String realName = ufiles.getOriginalFilename();
try {
//开始上传
ufiles.transferTo(new File(beanPath+"/"+realName));
//保存路径到数据库
String imgUrl = session.getServletContext().getContextPath()+"/images/"+realName;
return imgUrl;
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}

对于上传文件命名的处理每个人都有不同的方法,在这里不做讲解。

spring mvc 简单的文件上传与下载的更多相关文章

  1. 1.6(Spring MVC学习笔记)文件上传与下载

    一.文件上传 实现文件上传多数是采用表单提交数据, 但对于进行文件上传的表单需要满足一下几个条件 1.表单的method设置为post 2.表单的enctype设置为multipart/form-da ...

  2. 关于我使用spring mvc框架做文件上传时遇到的问题

    非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题 ...

  3. 使用jsp/servlet简单实现文件上传与下载

    使用JSP/Servlet简单实现文件上传与下载    通过学习黑马jsp教学视频,我学会了使用jsp与servlet简单地实现web的文件的上传与下载,首先感谢黑马.好了,下面来简单了解如何通过使用 ...

  4. 简单的文件上传的下载(动态web项目)

    1.在页面中定义一个form表单,如下: <!-- 文件上传 --> <form action="${pageContext.request.contextPath}/Fi ...

  5. SSM简单实现文件上传和下载

    一.配置spring-mvc <!-- 配置多媒体文件解析器 --> <bean id="multipartResolver" class="org.s ...

  6. spring MVC multipart处理文件上传

    在开发Web应用程序时比较常见的功能之一,就是允许用户利用multipart请求将本地文件上传到服务器,而这正是Grails的坚固基石——Spring MVC其中的一个优势.Spring通过对Serv ...

  7. spring mvc中的文件上传

    使用commons-fileupload上传文件所需要的架包有:commons-fileupload 和common-io两个架包支持,可以到Apache官网下砸. 在配置文件spring-mvc.x ...

  8. 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

    作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.co ...

  9. Spring MVC 全局异常处理&文件上传

    Spring MVC 全局异常处理 使用SimpleMappingExceptionResolver实现异常处理 在welcome-servlet.xml进行如下配置: <bean class= ...

随机推荐

  1. spring-boot war包

    接着上面的spring-boot项目,直接使用jar包方便调试,在开发阶段非常方便,生产上最好打成war形式 要想spring-boot打war包,还是从pom.xml入手 1.1 调整pom.xml ...

  2. css实现礼券效果3

    <view class="coupon"> <view class="coupon-left"> </view> <v ...

  3. DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing

    DAX/PowerBI系列 - 玩转 阿里云主机 Ali Cloud ECS 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 欢迎交流与骚扰 这是啥: 双十一就到了,码农门,程序猿们有没有 ...

  4. ThinkPHP安全规范指引

    流年 发布于 ThinkPHP官方博客: https://blog.thinkphp.cn/789333 本文主要和大家探讨一下ThinkPHP的安全注意事项,可以作为ThinkPHP建议的安全规范实 ...

  5. npm手册

    npm现在都是随同NodeJS一起安装的包管理和分发工具,所以npm的安装,只要下载新版的nodejs已经集成了npm. 安装好了以后,直接输入npm或者npm help,会出来一些npm自带的命令. ...

  6. PyAutoGUI使用

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了. 安装: pip install pyau ...

  7. 解决SQL Server 2008无法连接127.0.0.1的问题

    电脑操作系统是Win10中文版,新装的英文版SQL Server 2008,纯默认安装,没有做任何改动. 装完SQL Server 2008之后,发现只能用默认的机器名来登录: 如果用127.0.0. ...

  8. c# 设置开机启动

    private static RegistryKey _rlocal = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Wi ...

  9. MySQL实用基本操作

    本博客写是装好Mysql并配好环境变量后的基本操作(windows10系统下)且都是黑框内的操作. 一.登陆MySQL 首先启动服务,在桌面左下角图标处点击右键Windows PowerShell(管 ...

  10. Kafka笔记8(管理Kafka)

    使用kafka-topic.sh工具可以执行大部分操作   创建/修改/删除/查看集群里的主题.要使用全部功能,需要通过--zookeeper参数提供zookeerper连接字符串 创建主题: 创建主 ...