栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

JavaWeb文件上传下载实例

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb文件上传下载实例

1、要有一个 form 标签,method=post 请求
2、form 标签的 encType 属性值必须为 multipart/form-data 值
3、在 form 标签中使用 input type=file 添加上传的文件
4、编写服务器代码(Servlet 程序)接收,处理上传的数据。
encType=multipart/form-data 表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼
接,然后以二进制流的形式发送给服务器

package com.LightIndustry.upload;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class UploadServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        System.out.println("数据传递到当前页面");
//
//        InputStream inputStream = request.getInputStream();
//        byte [] buffer = new byte[10240000];
//        int read = inputStream.read(buffer);
//        System.out.println(new String(buffer,0,read) );

        //首先判断当前上传的数据是否是多段数据
        if(ServletFileUpload.isMultipartContent(request)){
            //只有是多段的数据,才是上传的,返回值是boolean类型


            FileItemFactory fileItemFactory = new DiskFileItemFactory();
            //创建一个文件上传工厂

            ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);

            //上一步是创建爱你一个文件解析的工具类,下面的是将文件解析之后是一个list类型的文件

            try {
                List list = servletFileUpload.parseRequest(request);

                for(FileItem fileItem : list){
                    if (fileItem.isFormField()){
                        //这里面是说明是一个普通的表单项
                        System.out.println("表单项的name属性值:"+fileItem.getFieldName());
                        System.out.println("表单项Value的值"+fileItem.getString("UTF-8"));
                    }else {
                       //这里面显示上传的文件
                        System.out.println("表单项的name属性值"+fileItem.getFieldName());
                        System.out.println("上传的文件名字"+ fileItem.getName());

                        fileItem.write(new File("D:\"+fileItem.getName()));
                    }
                }

            } catch (FileUploadException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号