ssm java上传图片预览_ssm文件上传_上传图片

1、搭建好ssm框架

2、导入文件上传所需依赖

commons-fileupload

commons-fileupload

1.4

commons-io

commons-io

2.6

commons-lang

commons-lang

2.6

3、springmvc的xml文件中配置文件所需的类

36aa20e58636322aaff7b564ab794740.png

4、jsp界面

e67fc1f339c3bf0e506201a29a28d81b.png

对应

e9b347c1a84e4f24dc02636eeb2921e6.png

其次第二个文件上传对应的就是第二个div里面的内容

4、form表单配置

注意:

表单中method必须为post方法不然会报405错误

必须加入enctype属性这样此表单才支持文件上传

5、controller层(逻辑和代码如下有注释):

@RequestMapping("addUser")publicString addUser(

User user,

HttpSession session,

Model model,

@RequestParam(value="multipartFiles") MultipartFile[] multipartFiles){//如果有文件上传

if(multipartFiles.length>0){for(int i=0;i

String path=session.getServletContext().getRealPath("statics"+ File.separator+"uploadfiles");//原文件名

String oldName=multipartFiles[i].getOriginalFilename();//获取原文件的后缀(可以过滤一些文件)

String suffix=FilenameUtils.getExtension(oldName);//文件上上传大小 得小于 500 kb

int fileSize=1024*500;//如果当前文件的大小大于500kb

if((multipartFiles[i].getSize())>fileSize){

model.addAttribute("error","文件的大小大于500kb");return "redirect:jsp/user/forwardTo?url=userAdd";

}//后缀判断

if("jpg".equals(suffix)||"jpeg".equals(suffix)||"png".equals(suffix)||"pneg".equals(suffix)){//新拼接的文件名 原文件名+当前系统时间+随机数+"_Personal.jpg"

String fileName=oldName+System.currentTimeMillis()+ RandomUtils.nextInt(1000000)+"_Personal.jpg";

File targetFile=newFile(path,fileName);//如果该目录不存在

if(!targetFile.exists()){//递归创建该目录

targetFile.mkdirs();

}try{//文件上传

multipartFiles[i].transferTo(targetFile);if(i==0){

user.setIdPicPath(fileName);

}else if(i==1){

user.setWorkPicPath(fileName);

}

}catch(IOException e) {

e.printStackTrace();

model.addAttribute("error","文件上传失败");return "redirect:jsp/user/forwardTo?url=userAdd";

}

}else{

model.addAttribute("error","图片格式不违法");return "redirect:jsp/user/forwardTo?url=userAdd";

}

}

}

}//未携带文件上传://获取当前用户

User userSession =(User) session.getAttribute(Contents.USER_SESSION);//设置创建者 和 创建时间的值

user.setCreatedBy(userSession.getId());

user.setCreationDate(newDate());//添加用户成功跳用户列表否则还是在用户添加页面

return userService.insertUser(user)?"redirect:/jsp/user/forwardTo?url=home":"redirect:/jsp/user/forwardTo?url=userAdd";

}

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

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

相关文章

平台允许同时在线人数 显示_12万人同时在线,游戏未正式发售,国产“糖豆人”已诞生?...

《派对动物》目前在Steam平台上开启了试玩阶段,游戏离正式发行还有一段时间。这款游戏适合多人作战,正如它的名字一样《派对动物》。不过从游戏角色的形象设定上来看,有一些像学龄前儿童喜爱的动画片,因此并没有人给这部游戏太多的…

feign post 传递空值_听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

文章来源:听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺原文作者:陈哈哈来源平台:CSDN我有一个老朋友,我们叫他熊猫。发际线及将触碰到后脑勺,大框金丝眼镜也掩盖不住那黝黑的眼圈,显得格外的…

java必知必会_Java构造器必知必会

在面向对象编程中,编程人员应该在意“资源”。比如String hello "hello";在代码中,我们很在意在内存中String类型的hello,它是有一个生命周期的。在它生命周期中,初始化(initialization)和清理(cleanup)是两…

post 请求 argument type mismatch_Flask-RESTful 请求解析

一、基本参数from flask.ext.restful import reqparseparser reqparse.RequestParser()parser.add_argument(rate, typeint, helpRate cannot be converted)parser.add_argument(name, typestr)args parser.parse_args()二、必需的参数parser.add_argument(name, typestr, re…

易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看

各位好!,我依然是小芝麻,近期几日总是有盆友在私聊我,“小芝麻看着你的转金专缉,那么多方式,能够 帮我建议一类,最安全可靠能用的吗?”“小芝麻,你的转金攻略大全&#x…

java高并发抢单编程模型_Java高并发模型

package MainFixedFuc;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SingleTest {public static void main(String[] args) {// 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待…

maven不配置环境变量可以使用吗_哪些土地可以不缴纳土地使用税?包括农村地吗?...

根据法律规定,县城以上城市进行土地开发时,需要征收土地使用税,对于公园、名胜、寺庙及文教、卫生、社会福利等单位使用的土地,城镇、街道、公共设施用地、铁路、机场、港区、车站、管理交通运输用地及水利工程,农、林…

小米答题题库_拼多多果园答题题库74(每日更新)

135编辑器拼多多答题题库七十四每周我们都会做一个总和的题库;希望大家持续关注!您的关注就是我们的动力!“成语之乡”指的是我国哪座城市?1.河北邯郸 2.安徽蚌埠答:河北邯郸邯郸位于河北省南部,是战国时期…

java 接口 print_Java-接口练习

编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapi…

filestorage 修改吧部分数据_数据库系统概论课后答案||第五版

关注公众号,更多资源分享回复关键词:数据库系统概论即可获取相应资源其他章节关注公众号获取第 1 章 绪论1 . 试述数据、 数据库、 数据库系统、 数据库管理系统的概念。答:( l ) 数据( Data ) : 描述事物的符号记录称…

python zipfile 乱码_python zipfile文件名乱码问题

zipfile文件名乱码问题接到一个解压zip文件的任务。在几百G的文件里面找到zip文件,并解压到当前目录。这个任务看似很简单,但是全都是坑的。被坑的第一点,文件名乱码。搜索博客里面的教程,一般有两种方法。1、修改源码&#xff0c…

php时间戳本周,php获取今天,昨天,本周,上周,本月,上月的起止时间戳

如何使用php获取今天,昨天,本周,上周,本月,上月的起止时间戳,我们来看看下面的函数。date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时//获取今日开始时…

directshow 旋转_宜昌中心加工机+A:B型号,高速旋转接头加工

杭州浙稳贺机械配件有限公司为您详细解读MrGAtc宜昌中心加工机A:B型号的相关知识与详情,但是,0.1-0.15 N/ mm范畴的密封唇载荷对新的密封是可承受的;关于80mm曲径的轴,那转换为25-40N范畴的总径向载荷。很多旋转接头弹性体唇形密封…

python压缩文件夹为zip_python打包压缩文件夹zip+组装文件夹

无意间想到的一个需求,然后就顺手写了写,留下来,方便以后用列表版:(基本没用,仅提供思路,字典版稍微改动可以直接用)大体需求:把重复的文件名进行改名,达到浏览器下载相同文件的效果…

php注册树模式,php设计模式-注册树模式

注册树模式概念注册树模式也叫注册模式或注册器模式。注册树模式将对象实例注册到一棵全局的对象树上,需要的时候从对象树上获取即可。注册树模式优点单例模式创建唯一对象的过程本身还有一种判断,即判断对象是否存在,存在则返回对象&#xf…

jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?

像在这样炎炎的夏日,温度在直线飙升,茶饮市场最近可谓是异常火,店铺人流量一旦增多,还能保证每一杯饮品的质量吗?还能保证门店的制冰机产量能够跟上需求节奏吗?奶茶店铺用哪种制冰机才合适?今天…

redis哨兵主从不切换_《「面试突击」—Redis篇》-- Redis的主从复制?哨兵机制?...

Redis如何保证高并发,高可用?高并发:redis的单机吞吐量可以达到几万不是问题,如果想提高redis的读写能力,可以用redis的主从架构,redis天热支持一主多从的准备模式,单主负责写请求多从负责读请求…

php 继承多个接口,PHP接口多继承及tarits实现多继承效果的方法

本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法。分享给大家供大家参考,具体如下:接口多继承在PHP的面向对象中,接口可以继承接口。PHP类只能继承一个父类(单继承),但是接口可以实现多继承,可以继承一个或者…

run till exit from #0_华为认证hcip H13821 v2.0云服务考试真题每日一练(一)

1.微服务云应用平台(ServiceStage),可以完成以下哪些功能?(多选)A.创建应用依赖计算资源B.使用 AOS 模板自动化应用编排C.查看应用各项指标D.在线可视化升级应用E.容器应用需要自己在 Service Storage 上搭建容器管理平台,比如需自己搭建 kubernetes 管理 docker 容器应用Answ…

java+boolean+属性,java – 从属性中获取int,float,boolean和string

如果您有一类配置值,例如常量类,并且要从配置(属性)文件加载所有值,则可以创建一个小帮手类并使用反射:public class ConfigLoader {public static void load(Class> configClass, String file) {try {Properties props new P…