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插件实现了多图上传,并将信息插入数据库的功能了

你可能感兴趣的:(图片上传,多图上传,smartupload多图上传,java多图上传)