必赢亚洲手机app下载


就是无休止失去爱情

你早已丧失深度思考的力量

兑现文件上传766net必赢亚洲手机版

  • 因此Servlet来贯彻文件上传的效益

心想事成用户将文件上传播服务里的法力

文本上传效用解释:

当用户在前者网页点击文件上传后,javaWeb的servlet会拿到用户所提交的公文同时将文件存放到服务器里。

先看servlet端

@MultipartConfig

将该标注配置到服务器servlet下面,否则会忽视掉文件的始末。并且报错,错误信息

严重: Servlet.service() for servlet [com.xyf.web6.UploadServlet] in context with path [/webtest] threw exception
java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided

  

用户上传提交的始末会存放到临时的文书中,我们使用getpart来拿到Part对象,

并通过Part对象得到流。此外注意导入

commons-fileupload-1.2.2.jar

commons-io-2.1.jar

到web-inf的lib目录下

servlet端的代码

package com.xyf.web6;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;

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;

@WebServlet("/upload")
@MultipartConfig


public class UploadServlet extends HttpServlet {


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        Part part = request.getPart("uploadFile");
        String inputName=part.getName();
        InputStream input=part.getInputStream();
        //想要保存的目标文件的目录下
        String tagDir=getServletContext().getRealPath("/upload");
        //避免文件名重复使用uuid来避免,产生一个随机的uuid字符
        String realFileName=UUID.randomUUID().toString();
        OutputStream output=new FileOutputStream(new File(tagDir,realFileName));
        int len=0;
        byte[] buff=new byte[1024*8];

        while ((len = input.read(buff)) > -1) {
            output.write(buff, 0, len);
        }

        input.close();
        output.close();
        response.setCharacterEncoding("utf-8");
        response.getWriter().print("upload success!!");

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

jsp端的代码,相比较简单

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>文件上传</title>
    </head>
    <body>
        <form action="/webtest/upload" method="post" enctype="multipart/form-data">
            <input type="file" name="uploadFile" /> <br/><br/>
            <input type="submit" value="上传" />
        </form>
    </body>
</html>

  

客户端表单中务必指定method=post,因为上传的文本或者很大,并且指定enctype=multipart/form-data使用上传文件特另外编码格局

 enctype="multipart/form-data"

除此以外客户端还亟需拔取<input
type=”file” 选拔要上传的文本

 

服务器启动后:

766net必赢亚洲手机版 1

分选当前电脑上的文书点击上传

766net必赢亚洲手机版 2

 在路径G:\eclipse\eclipse\eclipse\worksapceeeeeeee\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\webtest\upload

唯恐会见世文件不存在的荒谬,这么些时候需要先去看清
,即便不设有就创办,添加以下代码在servlet里

 String uploadFullPath=tagDir;
        //先创建这个文件
        File file=new File(uploadFullPath);
        File ParentFile=file.getParentFile();
        if(!ParentFile.exists())
        {
            ParentFile.mkdirs();//如果文件夹不存在,就创建文件夹

        }

  这样我们的上传固然是完成了,当然如此上传是不安全的。有关上传的平安问题下文中会讲。

 

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图