博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet3.0中使用getPart进行文件上传
阅读量:4614 次
发布时间:2019-06-09

本文共 2330 字,大约阅读时间需要 7 分钟。

这个先进些,简单些,但书上提供的例子不能使用,到处弄了弄才行。

servlet代码:

package cc.openhome;import java.io.InputStream;import java.io.OutputStream;import java.io.FileOutputStream;import java.io.FileNotFoundException;import java.io.File;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;/** * Servlet implementation class UploadServlet */@WebServlet("/upload.do")@MultipartConfigpublic class UploadServlet extends HttpServlet {    private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public UploadServlet() {        super();        // TODO Auto-generated constructor stub    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        //request.setCharacterEncoding("UTF-8");        Part part = request.getPart("photo");        //String uploadPath = request.getServletContext().getRealPath("/upload");          String fileName = getFileName(part);        System.out.println(fileName + "*****************");        writeTo(fileName, part);    }        private String getFileName(Part part) {        String header = part.getHeader("Content-Disposition");        String fileName = header.substring(header.indexOf("filename=\"") + 10,                header.lastIndexOf("\""));        return fileName;    }        private void writeTo(String fileName, Part part) throws FileNotFoundException, IOException {        String uploadPath = "c:/workspace";          part.write(uploadPath + File.separator + fileName);        /***        InputStream in = part.getInputStream();        OutputStream out = new FileOutputStream("c:/workspace" + fileName);        byte[] buffer = new byte[1024];        int length = -1;        while ((length = in.read(buffer)) != -1) {            out.write(buffer, 0, length);        }        in.close();        out.close();        ***/    }}

转载于:https://www.cnblogs.com/aguncn/p/5468508.html

你可能感兴趣的文章
spring mvc为何多注入了个SimpleUrlHandlerMapping?
查看>>
node express框架基本配置
查看>>
深入理解MySQL的ACID四大特性原理
查看>>
Codeforces Round #463 F. Escape Through Leaf (李超线段树合并)
查看>>
@ResponseBody 注解是什么意思?
查看>>
Code4App地址
查看>>
蓄水池抽样
查看>>
C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例
查看>>
Sublime Text 插件推荐——for web developers
查看>>
Grails中service的线程安全的小例子
查看>>
MySQL与Oracle(二)---日期对比(MySQL)
查看>>
懵懂的第一周
查看>>
OpenFileDialog对话框Filter属性
查看>>
树链剖分
查看>>
poj2886线段树(单点修改,区间查询)
查看>>
通过JazzyViewPager来实现Fragment页面间的动画切效果
查看>>
golang map和for循环的查找效率对比
查看>>
struts2中服务器端数据校验
查看>>
form表单里的坑
查看>>
Vs2010+opencv2.3.1 imread出现异常
查看>>