用servlet实现图片的批量上传,并保存到数据库
导包

前端页面代码

<form method="post" action="${ctx}/upimgs" id="form1"enctype="multipart/form-data" class="contact-form"><div><span> <label> 多张照片* </label></span> <span> <input name="src" type="file" multipleclass="textbox" required="required" accept="image/*"></span></div><div><span> <input type="submit" value="提交" name="tijiao"></span></div></form>


servlet

package s.jf3q.com.servlet;import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import s.jf3q.com.dao.JdbcUtils;
import s.jf3q.com.tool.DateUtil;/*** Servlet implementation class Index*/
@WebServlet("/upimgs")
public class UpImgsServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public UpImgsServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse*      response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubdoPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse*      response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//图片保存路径String relpath="jsp/upimgs";String path=request.getRealPath(relpath);String fn=null;DiskFileItemFactory factory=new DiskFileItemFactory();ServletFileUpload sfu=new ServletFileUpload(factory);sfu.setHeaderEncoding("UTF-8");  //处理中文问题sfu.setSizeMax(1024*1024);   //限制文件大小try {List<FileItem> fileItems= sfu.parseRequest(request);  //解码请求 得到所有表单元素for (FileItem fi : fileItems) {//有可能是 文件,也可能是普通文字 if (fi.isFormField()) { //这个选项是 文字 System.out.println("表单值为:"+fi.getString());}else{// 是文件//获取图片后缀名String format=fi.getName().substring(fi.getName().indexOf("."), fi.getName().length());//图片重命名fn=UUID.randomUUID().toString().replaceAll("-", "")+format;System.out.println("文件名是:"+fn);  //文件名 // fn 是可能是这样的 c:\abc\de\tt\fish.jpgfi.write(new File(path,fn));//图片相对路径String imgpath="upimgs/"+fn;//保存数据库JdbcUtils jdbcUtils = new JdbcUtils();  jdbcUtils.getConnection();String sql="insert into  img (src) values(?)";List<Object> param=new ArrayList<Object>();param.add(imgpath);int r=-1;try {r = jdbcUtils.updateByPreparedStatement(sql, param);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} }                }    } catch (Exception e) {e.printStackTrace();}//去显示上传的文件request.getRequestDispatcher("toimgs").forward(request, response);}}

根据以上代码可以看到图片存放路径,的建立对应的文件夹,如图

测试

我选择了7张图片

前端页面显示如下

前端展示代码

<c:set var="ctxfile" value="${pageContext.request.contextPath}/jsp"/>
<c:forEach items="${imgli }" var="item"><div class="fancybox" style="text-align: center;"href="${ctxfile }/${item.src}"><imgsrc="${ctxfile }/${item.src}" alt=""width="100%" /><c:if test="${not empty  userInfo}"><a class="delimg" data-id="${item.id }">删除</a></c:if></div></c:forEach>

图片打印信息

数据库存入数据

其实也挺简单的,如果有不懂的可以联系我抠1913284695

servlet批量上传图片相关推荐

  1. java批量上传图片预览_SpringMVC批量上传图片,实现上传前图片预览

    最近有个功能需要实现批量上传图片,然后实现图片预览,因为项目比较老,同时对界面和用户操作体验也要求不太高,就没去找网上的开源插件,直接写了个简单的功能,这里做个记录备份 因为这个是实验性的小代码,就没 ...

  2. ASP.net(C#)批量上传图片(完整版)

    来自:http://blog.itpub.net/9869521/viewspace-667955/ 这篇关于ASP.Net批量上传图片的文章写得非常好,偶尔在网上看到想转载到这里,却费劲了周折.为了 ...

  3. CkEditor批量上传图片(java)

    CKEditor上传视频 CKEditor批量上传图片 flvplayer.swf播放器 CKEditor整合包(v4.6.1) ----------------------------------- ...

  4. python批量上传 服务器_Python Tornado批量上传图片并显示功能

    简介 Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的.2007年由4名Google前软件工程师一起创办了FriendFeed,旨在使用 ...

  5. c#a服务器上传文件b服务器,C#_c#批量上传图片到服务器示例分享,客户端代码: 复制代码 代码 - phpStudy...

    c#批量上传图片到服务器示例分享 客户端代码: /// /// 批量上传图片 /// /// 服务器路径 /// 图片文件夹路径 /// 图片名称 public void UpLoadFile(str ...

  6. uniapp+uniCloud实现批量上传图片到云端(解决h5端跨域问题)

    批量上传图片到云端 流程: 1.uni.chooseImage选择图片,返回图片临时路径 2.根据图片临时路径数量,循环调用uniCloud.uploadFile上传图片到云存储,返回图片线上路径 3 ...

  7. jmeter批量上传图片, csv文件参数化——详细讲解

    我们在测试的过程中,需要把图片放到请求中,而且还需要不一样的图片 批量修改图片后缀 我们也可以吧文件生成我们想要的后缀, 1,首先创建一个文本txt,在文本中输入 ren *.jpg *.png 然后 ...

  8. 关于kindeditor编辑器批量上传图片不显示添加图片按钮的问题

    今天在项目里发现kindeditor编辑器批量上传图片不显示添加文件按钮,去官网看demo是有的,经过浏览器debug发现是由于 multiimage.js文件的一个时间参数传递的不对, 很奇怪,改为 ...

  9. android批量上传图片(模仿QQ空间和微信发表说说)

    android批量上传图片(模仿QQ空间和微信发表说说) **请大家关注下我的微信公众号:哦哦猿 QQ群:552123831** 首先我们来看下效果 这个是启动方法:HttpPostUtil.save ...

最新文章

  1. scipy 笔记:solve_triangular
  2. AgilePoint模型驱动BPM(业务流程管理)介绍
  3. apache 伪静态 .htaccess
  4. 在线nltk分词和词性标注
  5. 外向或内向是基因决定的?
  6. 1.3字符串 确定两串乱序同构
  7. 《如何搭建小微企业风控模型》第五节 特征工程(上)
  8. 解决进入XP系统无法响应故障
  9. 「转」101个著名的心理效应
  10. 信息安全习题(含答案)
  11. 非线性系统线性化过程
  12. 华为电脑安装双系统linux,华为MateBook笔记本安装Win10与Ubuntu双系统
  13. Apache域名跳转----配置rewrite模块
  14. 『踩坑』pyechart绘图不出图的解决方案
  15. [FROM WOJ]#4317 谈笑风生
  16. 深度学习与自然语言处理教程(8) - NLP中的卷积神经网络(NLP通关指南·完结)
  17. 区块链中的记账权问题
  18. 用于android的音乐可视化工具,Android音乐播放可视化
  19. linux命令的全称,Linux命令全称
  20. sja1c语言,A1SJ71AP21-S3基础知识三菱A1SJ71AP21-S3用户手册(硬件) - 广州正凌

热门文章

  1. hdu 1172(java版本)
  2. 最高级的在线计算机,计算机基础知识笔试题完整版.doc
  3. 【评测】iPS细胞株-Alzheimer‘s disease (AD),LDLR和APOE4基因突变
  4. cesium模仿百度地图二三维切换
  5. Arcgis更换布局模板_适合个人的网站导航静态模板
  6. web前端之sass简介
  7. Adobe CS6 系列索引
  8. Python+Streamlit实现项目成本管理挣值分析可视化
  9. 一种福利彩票辅助选号软件的开发
  10. 常见的压力面试题及面试技巧有哪些?