javaweb简单的实现文件上传
java代码:
// @RequestMapping(value = "/upload.do", method = RequestMethod.POST)
@RequestMapping(value = "savefile", method = RequestMethod.POST)
// 这里的MultipartFile对象变量名跟表单中的file类型的input标签的name相同,所以框架会自动用MultipartFile对象来接收上传过来的文件,当然也可以使用@RequestParam("img")指定其对应的参数名称
public String upload(MultipartFile upfile, HttpSession session, HttpServletRequest request)
throws Exception {
// 如果没有文件上传,MultipartFile也不会为null,可以通过调用getSize()方法获取文件的大小来判断是否有上传文件
if (upfile.getSize() > 0) {
// 得到项目在服务器的真实根路径,如:/home/tomcat/webapp/项目名/images
// String path = session.getServletContext().getRealPath("/");
String path=request.getRealPath("/");
// 得到文件的原始名称,如:美女.png
String fileName = upfile.getOriginalFilename();
// 通过文件的原始名称,可以对上传文件类型做限制,如:只能上传jpg和png的图片文件
if (fileName.endsWith("jpg") || fileName.endsWith("png") || fileName.endsWith("txt")) {
File file = new File(path, fileName);
upfile.transferTo(file);
return "/success.jsp";
}
}
return "/error.jsp";
}




注意事项:
1:文件上传表单要用post方式提交,并且要加上 enctype="multipart/form-data" ;
2:后台要用文件类型接收文件,不能用字符串接收,负责会报错;
3:后台可用 String path=request.getRealPath("/"); 方法获取项目的路径,把文件放到相应的路径中。
4:springmvc中有对上传文件的大小做限制 -->

5.多文件上传
- 要使用multiple属性
- 后台接受是一个数组


数组接收的时候要注意使用 @RequestParam false
javaweb简单的实现文件上传的更多相关文章
- extjs实现简单的多文件上传(不借助任何插件),以及包含处理上传大文件的错误的各种处理办法
		
在extjs的学习过程中,有遇到过有关多文件上传的问题,但是网上的大多数都是专门的去实现多文件上传而去做的组件之类的,没有特别简单的方式,于是小白便做了下面的内容,只是通过动态的去添加extjs的自带 ...
 - JavaWeb学习总结,文件上传和下载
		
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
 - PHP 简单处理--文件下载--文件上传
		
文件下载部分 从 down 目录下下载,先获取目录下所有文件,再为每个文件添加download 信息,主要是文件名,后缀的关系. 分两部分,down_1.php 部分初始化,点击download 则跳 ...
 - JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
		
异步上传相信大家都做过类似的功能,JqueryAjaxFileUploader为我们提供了更简单的实现和使用方式.不过既然是JQUERY的插件那么它所依赖的环境大家都懂得.JqueryAjaxFile ...
 - Thinkphp3.2简单解决多文件上传只上传一张的问题
		
html简单页面: index.html代码: <form action="{:U('index/upload')}" method="post" enc ...
 - Javaweb学习笔记10—文件上传与下载
		
今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ...
 - 全网最简单的大文件上传与下载代码实现(React+Go)
		
前言 前段时间我需要实现大文件上传的需求,在网上查找了很多资料,并且也发现已经有很多优秀的博客讲了大文件上传下载这个功能. 我的项目是个比较简单的项目,并没有采用特别复杂的实现方式,所以我这篇文章的目 ...
 - JavaWeb 后端 <十四> 文件上传下载
		
1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: ...
 - javaweb项目中的文件上传下载功能的实现
		
框架是基于spring+myBatis的. 前台页面的部分代码: <form action="${ctx}/file/upLoadFile.do"method="p ...
 
随机推荐
- 第一篇-ubuntu18.04访问共享文件夹
			
1. 在访问Windows共享资料之前,请确保Windows共享是可用的.Linux访问Windows共享或者LInux共享资料给Windows时,都使用Samba软件 rpm -qa | grep ...
 - 【译】11. Java反射——动态代理
			
原文地址:http://tutorials.jenkov.com/java-reflection/dynamic-proxies.html 博主最近比较忙,争取每周翻译四篇.等不急的请移步原文网页. ...
 - easyUI,重新渲染
			
Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法 可以使用$.parser.parse();这个方法进行处理: 例如: $.parser.parse(); 表示对整个页面重新 ...
 - 解决jQuery ajax动态新增节点无法触发点击事件的问题
			
在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢? 其实最简单的方法就是直接在标签中写onclick="" ...
 - flask get和post请求使用
			
直接看代码 #-*-coding:utf-8-*- from flask import Flask,url_for,redirect,render_template,request app = Fla ...
 - Zabbix Server 自带模板监控有密码MySQL数据库
			
Zabbix Server 自带模板监控有密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Zabbix-agent端的配置 1>.为数据库设置密码 ...
 - OS + Ubuntu ARM Android
			
s 1. Ubuntu 18.04 ISO的下载路径参考:https://www.ubuntu.com/download/server/arm 2. Android SDK下载链接:https://p ...
 - java中用jdom创建xml文档/将数据写入XML中
			
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; i ...
 - Hadoop记录-HDFS配额Quota
			
设置文件数配额 hdfs dfsadmin -setQuota <N> <directory>...<directory> 例如:设置目录下的文件总数为1000个h ...
 - 【解决】Can't find default configuration "arch/x86/configs/xx_defconfig"!
			
Can't find default configuration "arch/x86/configs/xx_defconfig"! 这个问题常见在没有设置好架构的makefile中 ...