form表單上傳域(type="file")的使用----上傳檔案

來源:互聯網
上載者:User

標籤:action   out   except   iter   bst   long   成功   max   attr   

 

一,單個檔案的上傳

1.html/jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><%    String path=request.getContextPath();    request.setAttribute("path", path);%></head><body><form action="${path}/FileSer"  method="post" enctype="multipart/form-data">    <table>        <tr>            <td>上傳檔案</td>            <td>                 <input type="file" name="fileN" />            </td>        </tr>        <tr>            <td colspan="2">                <input type="submit" />                <input type="reset" />            </td>        </tr>    </table>    </form></body></html>

2.過濾器解決中文亂碼問題

package com.ser;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Filter01 implements Filter{    @Override    public void destroy()    {    }    @Override    public void doFilter(ServletRequest arg0, ServletResponse arg1,            FilterChain arg2) throws IOException, ServletException    {        HttpServletRequest request= (HttpServletRequest)arg0;        HttpServletResponse response=(HttpServletResponse)arg1;        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        response.setContentType("text/html charset=utf-8");                arg2.doFilter(request, response);    }    @Override    public void init(FilterConfig arg0) throws ServletException    {    }}
Filter01.java

3.處理html/jsp

package com.ser;import java.io.File;import java.io.IOException;import javax.servlet.ServletConfig;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 FileSer */@WebServlet("/FileSer")@MultipartConfig(location="e://uploadFile",        fileSizeThreshold=1024*1024*1000,        maxFileSize=1024*1024*1000,        maxRequestSize=1024*1024*1024        )public class FileSer extends HttpServlet {    private static final long serialVersionUID = 1L;         private static final String location="e://uploadFile";    /**     * @see HttpServlet#HttpServlet()     */    public FileSer() {        }    @Override    public void init(ServletConfig config) throws ServletException    {        File file =new File("e://uploadFile");        if(!file.exists()&& !file.isDirectory())        {            file.mkdir();        }                }    /**     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)     */    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        Part part= request.getPart("fileN");        String fileType=part.getContentType();        String fileHeader=part.getHeader("content-disposition");        //String fileName=part.getName();        long size=part.getSize();                System.out.println(part);        System.out.println(fileType);        System.out.println(fileHeader);        //System.out.println(fileName);        System.out.println(size);        String filename=fileHeader.substring(fileHeader.indexOf("filename=")+10, fileHeader.lastIndexOf("\""));        part.write(filename);                response.getWriter().print(filename+"上傳成功");    }}
FileSer.java

 

form表單上傳域(type="file")的使用----上傳檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.