OFBIZ的上传文件方法

 

普通方式:

org.apache.commons.fileupload.disk.DiskFileItemFactory的jar包自己写的方法。

那个方法里核心是调用了

DiskFileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(factory);

List fileItems =   fileItems = upload.parseRequest(request);

 

示例代码:

public static String processFormData(HttpServletRequest request, Map formMap) {

        String message = "";

        DiskFileItemFactory factory = new DiskFileItemFactory();

        ServletFileUpload upload = new ServletFileUpload(factory);

        String value = PropertiesUtil.getConfigureMessage("image-upload-max-size");

        int imageMaxSize = Integer.parseInt(value);

        int formMaxSize = 30 * 1024 * 1024;

        upload.setSizeMax(formMaxSize);

        List fileItems = null;

        try {

            fileItems = upload.parseRequest(request);

        } catch (FileUploadException ex) {

            message = PropertiesUtil.getErrorMessage("utilhttp.upload.oversize");

            return message;

        }

        Iterator it = fileItems.iterator();

        FileItem fileItem = null;

        String fieldName = null, fileName = null;

        long imgSize = 0;

        it = fileItems.iterator();

        while (it.hasNext()) {

            fileItem = (FileItem) it.next();

            fieldName = fileItem.getFieldName();

            if (fileItem.isFormField()) {

                formMap.put(fieldName, fileItem.getString().trim());

            } else {

                fileName = fileItem.getName();

                // no-select file

                if (fileName.trim() == "") {

                    continue;

                }

                imgSize = fileItem.getSize();

                if (imgSize > 0) {

                    if (fileName.lastIndexOf(File.separator) > 0) {

                        fileName = fileName.substring(fileName.lastIndexOf(File.separator) + 1);

                    }

                    fileName = fileName.toLowerCase();

                    if (!validateFileFormats(fileName)) {

                        message = PropertiesUtil.getErrorMessage("utilhttp.upload.photo.type.unallowed");

                        return message;

                    } else if (imgSize > imageMaxSize) {

                        message = "toolarge";

                        return message;

                    }

                    formMap.put(fieldName, fileItem.get());

                } else {

                    // empty image

                    message = "empty.image";

                    return message;

                }

            }

        }

        return null;

    }
 

 

 

 

 

 

还有另一种方法,ofbiz里有一个HttpRequestFileUpload的工具类。它的上传文件到服务器的方法是

HttpRequestFileUpload uploadObject = new HttpRequestFileUpload();

    uploadObject.setOverrideFilename(defaultFileName);

    uploadObject.setSavePath(imageServerPath + "/" + filePathPrefix);

    uploadObject.doUpload(request);

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值