commons-fileupload上传附件api使用

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值