servlet之文件上传

来源:互联网 发布:微星显卡保修几年 淘宝 编辑:程序博客网 时间:2024/05/01 16:18
<%@ page language="java" contentType="text/html; charset=gbk"pageEncoding="gbk"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk"><title>Insert title here</title></head><body><h1>文件上传</h1><form action="upload" method="post" enctype="multipart/form-data" multiple><label for="">文件:</label><input type="file" name="myfile"/><label for=""描述></label><textarea name="desc" id="" cols="30" rows="10"></textarea><button>上传</button></form></body></html>package com.softeem.servlet;import java.io.IOException;import java.util.ArrayList;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 com.jspsmart.upload.File;import com.jspsmart.upload.Files;import com.jspsmart.upload.Request;import com.jspsmart.upload.SmartUpload;/** * Servlet implementation class uploadServlet */@WebServlet({ "/uploadServlet", "/upload" })public class UploadServlet extends HttpServlet {private static final long serialVersionUID = 1L;private static final String BASE_DIR = "d:/目的";public UploadServlet() {super();// TODO Auto-generated constructor stub}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// request.setCharacterEncoding("utf-8");// String file = request.getParameter("myfile");// System.out.println(file);List<String> filenames = new ArrayList<>();try {SmartUpload su = new SmartUpload();su.initialize(this, request, response);// 设置允许上传的图片su.setAllowedFilesList("png,jpg,jpeg,bmp,gif");// 设置不允许上传的文件// su.setDeniedFilesList("exe,bat,dll");// 设置允许上传的单个文件大小(字节)su.setMaxFileSize(1024 * 1024);// 设置允许上传的总文件大小(字节)su.setTotalMaxFileSize(1024 * 1024 * 5);// 开始上传su.upload();// String fname = su.getFiles().getFile(0).getFileName();// System.out.println("---"+fname);// 获取所有文件对象Files files = su.getFiles();System.out.println("上传的文件数:" + files.getCount());System.out.println("上传的文件大小:" + files.getSize());for (int i = 0; i < files.getCount(); i++) {File file = files.getFile(i);System.out.println("字段名称:" + file.getFieldName());System.out.println("文件名称:" + file.getFileName());System.out.println("文件后缀名:" + file.getFileExt());System.out.println("文件类型:" + file.getContentType());System.out.println("文件路径名:" + file.getFilePathName());System.out.println("-----------");String fname = UUID.randomUUID() + "." + file.getFileExt();//保证所有编号唯一if(file.getSize() > 0){file.saveAs(BASE_DIR + java.io.File.separator + fname);filenames.add(fname);}}// su.save("d:/目的");Request req = su.getRequest();String name = req.getParameter("desc");System.out.println(name);request.setAttribute("list", filenames);request.getRequestDispatcher("fileList.jsp").forward(request,response);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

原创粉丝点击