servlet批量上传图片
用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批量上传图片相关推荐
- java批量上传图片预览_SpringMVC批量上传图片,实现上传前图片预览
最近有个功能需要实现批量上传图片,然后实现图片预览,因为项目比较老,同时对界面和用户操作体验也要求不太高,就没去找网上的开源插件,直接写了个简单的功能,这里做个记录备份 因为这个是实验性的小代码,就没 ...
- ASP.net(C#)批量上传图片(完整版)
来自:http://blog.itpub.net/9869521/viewspace-667955/ 这篇关于ASP.Net批量上传图片的文章写得非常好,偶尔在网上看到想转载到这里,却费劲了周折.为了 ...
- CkEditor批量上传图片(java)
CKEditor上传视频 CKEditor批量上传图片 flvplayer.swf播放器 CKEditor整合包(v4.6.1) ----------------------------------- ...
- python批量上传 服务器_Python Tornado批量上传图片并显示功能
简介 Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的.2007年由4名Google前软件工程师一起创办了FriendFeed,旨在使用 ...
- c#a服务器上传文件b服务器,C#_c#批量上传图片到服务器示例分享,客户端代码:
复制代码 代码 - phpStudy...
c#批量上传图片到服务器示例分享 客户端代码: /// /// 批量上传图片 /// /// 服务器路径 /// 图片文件夹路径 /// 图片名称 public void UpLoadFile(str ...
- uniapp+uniCloud实现批量上传图片到云端(解决h5端跨域问题)
批量上传图片到云端 流程: 1.uni.chooseImage选择图片,返回图片临时路径 2.根据图片临时路径数量,循环调用uniCloud.uploadFile上传图片到云存储,返回图片线上路径 3 ...
- jmeter批量上传图片, csv文件参数化——详细讲解
我们在测试的过程中,需要把图片放到请求中,而且还需要不一样的图片 批量修改图片后缀 我们也可以吧文件生成我们想要的后缀, 1,首先创建一个文本txt,在文本中输入 ren *.jpg *.png 然后 ...
- 关于kindeditor编辑器批量上传图片不显示添加图片按钮的问题
今天在项目里发现kindeditor编辑器批量上传图片不显示添加文件按钮,去官网看demo是有的,经过浏览器debug发现是由于 multiimage.js文件的一个时间参数传递的不对, 很奇怪,改为 ...
- android批量上传图片(模仿QQ空间和微信发表说说)
android批量上传图片(模仿QQ空间和微信发表说说) **请大家关注下我的微信公众号:哦哦猿 QQ群:552123831** 首先我们来看下效果 这个是启动方法:HttpPostUtil.save ...
最新文章
- scipy 笔记:solve_triangular
- AgilePoint模型驱动BPM(业务流程管理)介绍
- apache 伪静态 .htaccess
- 在线nltk分词和词性标注
- 外向或内向是基因决定的?
- 1.3字符串 确定两串乱序同构
- 《如何搭建小微企业风控模型》第五节 特征工程(上)
- 解决进入XP系统无法响应故障
- 「转」101个著名的心理效应
- 信息安全习题(含答案)
- 非线性系统线性化过程
- 华为电脑安装双系统linux,华为MateBook笔记本安装Win10与Ubuntu双系统
- Apache域名跳转----配置rewrite模块
- 『踩坑』pyechart绘图不出图的解决方案
- [FROM WOJ]#4317 谈笑风生
- 深度学习与自然语言处理教程(8) - NLP中的卷积神经网络(NLP通关指南·完结)
- 区块链中的记账权问题
- 用于android的音乐可视化工具,Android音乐播放可视化
- linux命令的全称,Linux命令全称
- sja1c语言,A1SJ71AP21-S3基础知识三菱A1SJ71AP21-S3用户手册(硬件) - 广州正凌