老规矩还是先上图看效果:

对于上传文件,浏览器在上传的过成中将文件已字节流的形式提交到服务器,小编一般选择采用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图片上传 + 批量相关推荐

  1. java图片上传(mvc)

    最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.i ...

  2. Java 图片上传后为什么会自动旋转90度?

    问题: 用户反馈上传后的图片方向不对,起初怀疑是本身图片方向有问题,但是用windows图片查看器打开图片方向是"正常"显示的? 分析: windows默认的图片查看器已经帮我们自 ...

  3. java图片上传和加水印

    java图片上传和加水印 简介 大家在做项目开发的时候,经常会用到图片上传,有些牵扯到版权或者私密的图片需要进行添加上水印,小编在总结了前人的经验之后,总结了一份element ui+spring b ...

  4. java图片上传保存至服务器并返回可下载的URL

    java图片上传保存至服务器并返回可下载的URL 1.需求来源 2.解决思路 3.开始干活(直接上代码) 4.总结 1.需求来源 上周要做一个功能,需求是: 微信小程序开发的程序会传一张图片到后台ja ...

  5. Java图片上传实现方式MultipartFile

    Java图片上传实现方式 例举 MultipartFile 处理图片上传方式 2021年8月3日 核心代码块 public Result uploadImg(MultipartFile multipa ...

  6. java 图片上传 并保存服务器本地 后台 代码

    java 图片上传后台代码,把图片保存到服务器本地盘,并且按照一天一个文件夹分开存放,易于管理,不说了直接上代码: @Controller @RequestMapping("/oa" ...

  7. java图片上传压缩处理

    过去做的项目都是针对企业级应用,第一次开发新闻版块图片上传的功能,需要解决用户上传图片后,按照用户规定的尺寸大小或者按照图片比例,对图片进行压缩. 自己试写的工具类,写的时候考虑了几个关键点: 1.图 ...

  8. java图片上传压缩

    在工作中,会设计到文件上传等常用功能,但是有时候图片上传到服务器很很大,有的甚至有几十MB,我们前端加载图片就很慢了,甚至这些图片会占用服务器空间,积压服务器: 如何处理? Thumbnailator ...

  9. java 图片上传_java web图片上传和文件上传实例

    本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...

最新文章

  1. DeepMatch :用于推荐广告的深度召回匹配算法库
  2. 从运维的角度理解Iaas、Paas、Saas云计算
  3. [机器学习] LightGBM并行计算算子具体实现
  4. 踩坑记录--mybatisplus模糊查询中文时 有数据但 like查不到
  5. Spring——jar包详解
  6. MySQL数据库的常用命令语句记录——安全用户语句及函数
  7. 陈纪修老师《数学分析》 第08章:反常积分 笔记
  8. jvm内存结构与java内存模型
  9. python的模块和包
  10. 7.8 Cound 练习
  11. eclipse debug 多线程
  12. Freemyapps赚取积分终极图文教程
  13. Excel2016制作动态图表
  14. 【win10】安装wsl,报错WslRegisterDistribution failed with error: 0x8007019e
  15. 国内邮箱有哪些?vip163微信邮箱登录简单吗?
  16. SQLServer 自定义函数 日期计算月初/月末/年初/年末/季初/季末
  17. 2021年安全员-B证找解析及安全员-B证模拟考试题
  18. 2020京东春招笔试题目
  19. 萌卡纳我书飞翔公益捐书 守护阅读梦
  20. C#模拟银行转账系统

热门文章

  1. 安装 Webpack
  2. 村庄规划优秀典型案例(一等奖)
  3. 人生态度(bushi
  4. 奇异值分解(SVD)原理及详解
  5. java高级特性2_Java高级特性 第2节 java中常用的实用类(1)
  6. rpc服务器太忙共享文件,解决“RPC服务器不可用”的难题
  7. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第十六章 7寸液晶屏显示实验
  8. net cad自动发送命令_每周一喂丨网络安全九个常用的网络命令
  9. 《思考,快与慢》 读书笔记
  10. S4 HANA中新增公司代码F-02记账报错“无法在公司代码 2500 中过账;指定已关闭的会计年度” - FAA_CMP或FAA_CMP_LDT