smartupload实现多图上传

jsp页面

<form class="form-inline definewidth m20" action="<%=basePath %>upload" method="post" enctype="multipart/form-data">
    图片一:<input type="file" name="myfile1">名称:<input type="text" name="title"><br>
    图片二:<input type="file" name="myfile2">名称:<input type="text" name="title"><br>
    图片三:<input type="file" name="myfile3">名称:<input type="text" name="title"><br>
    图片四:<input type="file" name="myfile4">名称:<input type="text" name="title"><br>
 <input type="submit" value="提交">
</form>
<pre name="code" class="java">package com.test.servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import com.marx.factory.DAOFactory;
import com.marx.vo.Image;

public class UploadServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=GBK");
		request.setCharacterEncoding("GBK");
				//设置图片保存路径

				String filePath = getServletContext().getRealPath("/")+"Upload";
				System.out.println(filePath);
				File file = new File(filePath);
				if(!file.exists()){
					file.mkdir();
				}
				SmartUpload su = new SmartUpload();
				//初始化
				su.initialize(getServletConfig(), request, response);
				//限制文件上传大小
				su.setMaxFileSize(1024*1024*10);
				//设置允许上传文件格式
				su.setAllowedFilesList("jpg,gif");
				try {
					su.setDeniedFilesList("txt,doc");
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
				String result = "上传成功";
				int count = 0;
				try {
					su.upload();//上传图片
					count = su.save(filePath);//得到上传文件个数
				} catch (SmartUploadException e) {
 					e.printStackTrace();
				}
				for(int i=0;i<count;i++){
                                        //这里将图片信息插入数据库中,比如图片地址,图片的名称
					com.jspsmart.upload.File tempFile = su.getFiles().getFile(i);
					String path = request.getContextPath();
					String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
					String fileurl = basePath+"Upload/"+tempFile.getFileName();//得到服务器端图片上传地址
					String[] title = su.getRequest().getParameterValues("title");
					Image img = new Image();
					img.setImgurl(fileurl);
					img.setTitle(title[i]);
					try {
						DAOFactory.getImgDaoinstance().insert(img);
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
				request.setAttribute("result", result);
				request.getRequestDispatcher("/admin/Img/add_success.jsp").forward(request, response);

	}

}

web.xml配置

 <servlet>
    <servlet-name>Upload</servlet-name>
    <servlet-class>com.test.servlet.UploadServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Upload</servlet-name>
    <url-pattern>/upload</url-pattern>
  </servlet-mapping>

这样就利用smartupload插件实现了多图上传,并将信息插入数据库的功能了

时间: 2024-08-29 10:55:54

smartupload实现多图上传的相关文章

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?

02-iOS 使用AFN 进行单图和多图上传

//1.单张图上传 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];    [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { //使用日期生成图片名称 NSDateFormatter *formatter = [[NSDateFormatter al

微信jssdk多图上传

微信官方文档uploadImage函数一次只能上传一张图片,但实际运用中有不少多图上传的需求 当选择多张图片时若直接循环多次调用,只有最后一张能上传成功,因为uploadImage只有在上次一执行成功或者失败以后才能再次调用,因此把该函数稍作修改即可 //选择图片function choose(num){ wx.chooseImage({ count: num, // 默认9 sizeType: ['compressed'], success: function (res) { var loca

百度Ueditor编辑器取消多图上传对话框中的图片搜索

百度Ueditor确实是一个非常强悍的编辑器,功能强大!但是实际开发需求复杂,总会有各种不符合要求的,比如想要取消多图上传的“图片搜索”选项卡(这个图片搜索真心难用)! 以ueditor 1.4.3为例: 1.打开ueditor1.4.3\dialogs\image\image.html 2.删除第25行 <span class="tab" data-content-id="search"><var id="lang_tab_search

yii2组件之多图上传插件FileInput的详细使用

作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 文件上传也写过几篇文章了,包括最基本的yii2文件上传.异步上传到又拍云以及百度编辑器图片上传的问题,貌似不说点多图上传的就不完美. 今天介绍一款多图上传的插件 FileInput,至于为什么选中了TA作为我们上传的插件,一来这货跟Yii2有一腿,用起来方便:二来嘛

单独调用kindeditor的多图上传组件实现多图上传

本例是单独调用kindeditor多图上传的组件来进行多图上传,兼容性你懂得! 官方示例地址:http://kindeditor.net/ke4/examples/multi-image-dialog.html Html JS

微信企业号办公系统-JSSDK上传图片(多图上传)

在开发微信企业号办公系统中,涉及到了图片上传功能,一开始使用的flash插件上传方法,在苹果手机上可以调用相机直接拍摄照片,但在安卓手机上只能选择照片. 微信jssdk-api带有一套完整的调用选择本地图片上传的功能,很多朋友在问到多图上传的问题.在这里分享一下自己的做法,其实并不是自己的做法,就是完全按照微信开发文档的做法,很多朋友可能没有仔细看文档,或者文档内容太多所以不想看,然后就不知道做法了,我这里挂出来,是这样做的 var images = { localId: [], serverI

thinkphp/thinkcmf多图上传并保存到数据库

&&思路:图片和一些信息一起上传,先把信息用ajax提交到添加数据的function,添加成功后取到此条信息的主键,存session,返回模板ajax接收返回的信息,接收完毕后,再把多图上传的from表单提交,取到图片的信息,循环后拼接图片路径,根据session存的主键值修改(save)信息(smeta)到数据库,结束 &&这里特别说一下这个 multiple="multiple" 添加上这个之后可以一次选择多个文件进行上传,是 html5 的新属性