Java图片上传 + 批量
老规矩还是先上图看效果:
对于上传文件,浏览器在上传的过成中将文件已字节流的形式提交到服务器,小编一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,给出ssm框架pom.xml 配置
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version> </dependency>
上传页面的代码如下(jsp):
<form action="<%=request.getContextPath()%>/UserController/fileUpload" method="post" enctype="multipart/form-data" id="uploadForm"><input type="file" name="images"><input type="file" name="images"><button type="submit" name="" >上传</button> </form>
这里使用传统的form 表单提交 值得注意的地方 enctype="multipart/form-data" 必写来表示进行文件上传 如果多图上传input的name 属性一定要相同
处理文件上传的HttpServlet 工具类
//设置上传保存图片的路径 url是你要保存的图片的路径 //为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如放于WEB-INF目录下。 String savePaht=url; File file=new File(savePaht); //判断上传的目录是否存在 if(!file.exists()){//如果不存在则创建file.mkdir(); } //1 创建一个磁盘diskFileItemFactory 工厂 DiskFileItemFactory diskFileItemFactory=new DiskFileItemFactory(); //2 创建一个servletFileUpload 解析器 ServletFileUpload servletFileUpload=new ServletFileUpload(diskFileItemFactory); servletFileUpload.setHeaderEncoding("UTF-8"); //3、判断提交上来的数据是否是上传表单的数据 if (ServletFileUpload.isMultipartContent(req)) {try{//4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项List<FileItem> list=servletFileUpload.parseRequest(req);for(FileItem item:list){if(item.isFormField()){//如果fileitem中封装的是普通输入项的数据}else{//如果fileitem中封装的是上传文件//得到上传的文件名String fileName=item.getName();if(fileName!=null || !"".equals(fileName)){//验证上传的图片后缀 是不是以 (jpg,png,jpeg)结尾的if(fileName.substring(fileName.lastIndexOf(".")+1).equals("jpg") ||fileName.substring(fileName.lastIndexOf(".")+1).equals("png")||fileName.substring(fileName.lastIndexOf(".")+1).equals("jpeg")){fileName=fileName.substring(fileName.lastIndexOf("."));//赋予新名字 采用的是时间戳(防止有重名的文件保证唯一性 如果不采用时间戳可以采用UUID)//如果不赋予新的名字 上传的图片有重复 会自动覆盖String newfileName=new Date().getTime()+fileName;//获取item中的上传文件的输入流InputStream in=item.getInputStream();//把图片输出到指定的文件中FileOutputStream out=new FileOutputStream(savePaht + "\\" + newfileName);//创建一个缓冲区byte bytes[]=new byte[1024];//验证输入流中的数据是否读完int len=0;while((len=in.read(bytes))>0){//使用FileOutputStream 输出到指定文件中out.write(bytes,0,len);}System.out.println("上传成功!");//关闭输入流in.close();//关闭输出流out.close();//删除处理文件上传时生成的临时文件item.delete();}else{//必须是图片}}else{//如果图片文件名为空}}}}catch(Exception e){e.printStackTrace();} }else{//如果不是使用表单提交数据}
到这里就告一段落 其实很简单 多写多练 自认而然就得心应手 当然还有很多其他的方法
后面会继续跟新下载,excl导入,导出 等。。。。
Java图片上传 + 批量相关推荐
- java图片上传(mvc)
最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.i ...
- Java 图片上传后为什么会自动旋转90度?
问题: 用户反馈上传后的图片方向不对,起初怀疑是本身图片方向有问题,但是用windows图片查看器打开图片方向是"正常"显示的? 分析: windows默认的图片查看器已经帮我们自 ...
- java图片上传和加水印
java图片上传和加水印 简介 大家在做项目开发的时候,经常会用到图片上传,有些牵扯到版权或者私密的图片需要进行添加上水印,小编在总结了前人的经验之后,总结了一份element ui+spring b ...
- java图片上传保存至服务器并返回可下载的URL
java图片上传保存至服务器并返回可下载的URL 1.需求来源 2.解决思路 3.开始干活(直接上代码) 4.总结 1.需求来源 上周要做一个功能,需求是: 微信小程序开发的程序会传一张图片到后台ja ...
- Java图片上传实现方式MultipartFile
Java图片上传实现方式 例举 MultipartFile 处理图片上传方式 2021年8月3日 核心代码块 public Result uploadImg(MultipartFile multipa ...
- java 图片上传 并保存服务器本地 后台 代码
java 图片上传后台代码,把图片保存到服务器本地盘,并且按照一天一个文件夹分开存放,易于管理,不说了直接上代码: @Controller @RequestMapping("/oa" ...
- java图片上传压缩处理
过去做的项目都是针对企业级应用,第一次开发新闻版块图片上传的功能,需要解决用户上传图片后,按照用户规定的尺寸大小或者按照图片比例,对图片进行压缩. 自己试写的工具类,写的时候考虑了几个关键点: 1.图 ...
- java图片上传压缩
在工作中,会设计到文件上传等常用功能,但是有时候图片上传到服务器很很大,有的甚至有几十MB,我们前端加载图片就很慢了,甚至这些图片会占用服务器空间,积压服务器: 如何处理? Thumbnailator ...
- java 图片上传_java web图片上传和文件上传实例
本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...
最新文章
- DeepMatch :用于推荐广告的深度召回匹配算法库
- 从运维的角度理解Iaas、Paas、Saas云计算
- [机器学习] LightGBM并行计算算子具体实现
- 踩坑记录--mybatisplus模糊查询中文时 有数据但 like查不到
- Spring——jar包详解
- MySQL数据库的常用命令语句记录——安全用户语句及函数
- 陈纪修老师《数学分析》 第08章:反常积分 笔记
- jvm内存结构与java内存模型
- python的模块和包
- 7.8 Cound 练习
- eclipse debug 多线程
- Freemyapps赚取积分终极图文教程
- Excel2016制作动态图表
- 【win10】安装wsl,报错WslRegisterDistribution failed with error: 0x8007019e
- 国内邮箱有哪些?vip163微信邮箱登录简单吗?
- SQLServer 自定义函数 日期计算月初/月末/年初/年末/季初/季末
- 2021年安全员-B证找解析及安全员-B证模拟考试题
- 2020京东春招笔试题目
- 萌卡纳我书飞翔公益捐书 守护阅读梦
- C#模拟银行转账系统
热门文章
- 安装 Webpack
- 村庄规划优秀典型案例(一等奖)
- 人生态度(bushi
- 奇异值分解(SVD)原理及详解
- java高级特性2_Java高级特性 第2节 java中常用的实用类(1)
- rpc服务器太忙共享文件,解决“RPC服务器不可用”的难题
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第十六章 7寸液晶屏显示实验
- net cad自动发送命令_每周一喂丨网络安全九个常用的网络命令
- 《思考,快与慢》 读书笔记
- S4 HANA中新增公司代码F-02记账报错“无法在公司代码 2500 中过账;指定已关闭的会计年度” - FAA_CMP或FAA_CMP_LDT