博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
commons-fileupload上传附件api使用
阅读量:6270 次
发布时间:2019-06-22

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

hot3.png

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if (!isMultipart) {

           goto.....

            return;

        }

 // Create a new file upload handler

ServletFileUpload upload = new ServletFileUpload();

// Parse the request

FileItemIterator iter = upload.getItemIterator(request);

while (iter.hasNext()) {

    FileItemStream item = iter.next();

    String name = item.getFieldName();

    InputStream stream = item.openStream();

    if (item.isFormField()) {

        System.out.println("Form field " + name + " with value "

            + Streams.asString(stream) + " detected.");

    } else {

        System.out.println("File field " + name + " with file name "

            + item.getName() + " detected.");

        // Process the input stream

        ...

    }

}

 具体上传服务器例子:

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

        if (!isMultipart) {

            //goto

            return;

        }

           DiskFileItemFactory dff = new DiskFileItemFactory();

            try {

            ServletFileUpload sfu = new ServletFileUpload(dff);

            sfu.setSizeMax(10000*1024);

            sfu.setHeaderEncoding("utf-8");

            FileItemIterator fii = sfu.getItemIterator(request);

            while (iterator.hasNext()) {

                fileStream = iterator.next();

                 if (!fileStream.isFormField())

                    break;

                fileStream = null;

            }

             if (fileStream == null) {

                return new BaseState(false, 7);

}

           String savePath ="保存服务器路径";

           String originFileName = fileStream.getName();

            String suffix = FileType.getSuffixByFilename(originFileName);

 

            originFileName = originFileName.substring(0,

                    originFileName.length() - suffix.length());

            savePath = savePath + suffix;

 

            long maxSize = ((Long) conf.get("maxSize")).longValue();

 

            if (!validType(suffix, (String[]) conf.get("allowFiles"))) {

                return new BaseState(false, 8);

            }

             savePath = PathFormat.parse(savePath, originFileName);

             String physicalPath = "路径" + savePath;

             InputStream is = fileStream.openStream();

             FileOutputStream out = new FileOutputStream(new File(physicalPath);

             BufferedOutputStream output = new BufferedOutputStream(out);

              Streams.copy(in, output, true);

转载于:https://my.oschina.net/u/1054538/blog/602512

你可能感兴趣的文章
WPF MediaElement.Position属性
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
spring mysql多数据源配置
查看>>
[React] Override webpack config for create-react-app without ejection
查看>>
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
测试java的父子类化
查看>>
HDOJ 1008
查看>>
安装thrift出现的一些问题
查看>>
makefile编写---单个子目录编译模板
查看>>
Oracle DB_LINK如何使用
查看>>
cv resource
查看>>
关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用
查看>>
JDK源代码学习系列07----Stack
查看>>
firefox
查看>>
PS批处理的使用
查看>>
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 【转】
查看>>
Quartz作业调度框架
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
js-权威指南学习笔记13
查看>>
《超级时间整理术》晨读笔记
查看>>