文件上传的Serlvet类

public class FileUploadServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 private ServletFileUpload upload;
 private final long MAXSize = 4194304*2L;//4*2MB
 private String filedir=null;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FileUploadServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 /**
  * 设置文件上传的初始化信息
  * @see Servlet#init(ServletConfig)
  */
 public void init(ServletConfig config) throws ServletException {
  FileItemFactory factory = new DiskFileItemFactory();// Create a factory for disk-based file items
  this.upload = new ServletFileUpload(factory);// Create a new file upload handler
  this.upload.setSizeMax(this.MAXSize);// Set overall request size constraint 4194304
  filedir=config.getServletContext().getRealPath("images");
  System.out.println("filedir="+filedir);
 }
 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 @SuppressWarnings("unchecked")
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  PrintWriter out=response.getWriter();
  try {
   List<FileItem> items = this.upload.parseRequest(request);
   if(items!=null && !items.isEmpty()){
    for (FileItem fileItem : items) {
     String filename=fileItem.getName();
     String filepath=filedir+File.separator+filename;
     System.out.println("文件保存路径为:"+filepath);
     File file=new File(filepath);
     InputStream inputSteam=fileItem.getInputStream();
     BufferedInputStream fis=new BufferedInputStream(inputSteam);
        FileOutputStream fos=new FileOutputStream(file);
        int f;
        while((f=fis.read())!=-1)
        {
           fos.write(f);
        }
        fos.flush();
        fos.close();
        fis.close();
     inputSteam.close();
     System.out.println("文件:"+filename+"上传成功!");
    }
   }
   System.out.println("上传文件成功!");
   out.write("上传文件成功!");
  } catch (FileUploadException e) {
   e.printStackTrace();
   out.write("上传文件失败:"+e.getMessage());
  }
 }
}
时间: 2024-11-05 11:48:16

文件上传的Serlvet类的相关文章

验证码确保php无输出、sql语句的封装性、文件上传的工具类【这三个重点工具类实现】

1.php代码在引入中不会进行结束或者确保结束之后没有空格,来保证php在被包含中没有被输出[防止header和session_start()对输出的控制]实质上,需要注意的就是,要不就进行输出缓存控制以及php开始标签前没有空格 验证码这个功能需要header和session两个功能[尤其需要注意输出的问题] [总结:防止php代码中带着一些输出的问题](1)在php标签中开始<?php 前顶格(2)php结束符要不不写,写了就不要在结束之后还有换行[防止该文件被包含之后提前出线输出](3)或

php 文件上传缩略图路径分析类

<?php //文件上传时分析路径信息 //author:songzhenghe 2014-1-24 //version 0.1 class path_ana {     private $data_root;     private $web_root;     private $http_domain;     private $file;     private $r;          public function __construct(){         //从配置文件中读取  

android 网络文件上传下载工具类总结

1.获取文件的最后修改时间 @SuppressLint("SimpleDateFormat") public String getFileDataTime(File file) { Date date = new Date(file.lastModified()); SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 24小时制 String LgTime = sdfo

iOS开发 - 封装文件上传工具类

文件上传的步骤 1.设置请求头 * 目的:告诉服务器请求体里面的内容并非普通的参数,而是包含了文件参数 [request setValue:@"multipart/form-data; boundary=maljob" forHTTPHeaderField:@"Content-Type"]; 2.设置请求体 * 作用:存放参数(文件参数和非文件参数) 1> 非文件参数 [body appendData:MalJobEncode(@"--maljob\

JavaWeb文件上传下载,使用fileupload组件

一.引入jar包 1. commons-fileupload-1.2.1.jar 2. commons-io-1.4.jar 二.文件上传 1. html代码 1 <form name="upload_test" action="${pageContext.request.contextPath}/FileServlet?method=upload" method="post" enctype="multipart/form-da

JavaWeb 后端 &lt;十四&gt; 文件上传下载

1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type=”file” /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:enctype =”multipart/

java文件上传-使用apache-fileupload组件

目前文件上传的(框架)组件:Apache----fileupload .Orialiy – COS – 2008() .Jsp-smart-upload – 200M. 用fileupload上传文件: 需要导入第三方包: Apache-fileupload.jar – 文件上传核心包. Apache-commons-io.jar – 这个包是fileupload的依赖包.同时又是一个工具包. 使用springmvc,解决烦人的post乱码问题,新建maven项目: maven依赖: <depe

FileUpload系列:(2)文件上传示例

示例 package com.rk.web.servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException;

FileUpload系列:(3)文件上传和下载示例

示例由1个Servlet和3个JSP组成. 1.FileServlet package com.rk.web.servlet; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.Has