`

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);

 

 

分享到:
评论
1 楼 wfine 2010-06-11  
这两个类支出多线程和断点续传吗?不太了解,谢谢~~~

相关推荐

    OFBiz 主题修改文档

    1. **位置**: OFBiz 的主题文件通常存储在 `themes` 文件夹内。 - 示例路径:`/ofbiz/framework/webapp/themes` - 内含多个子文件夹,每个子文件夹代表一个不同的主题,例如 `bizznesstime`。 2. **结构**: - *...

    OFBIZ综合文档

    控制器依据XML配置文件映射请求到对应的处理器,处理器执行模型操作,然后控制器根据处理结果更新视图并返回给用户。过滤器(Filter)在OFBIZ中扮演重要角色,它在请求到达Servlet之前进行预处理,可以用来实现安全...

    ofbiz集成富文本编辑器ueditor

    4. **创建JSP页面**:在Ofbiz的JSP文件中引入ueditor的JavaScript库。通常在需要使用ueditor的地方,添加如下代码: ```html <script type="text/javascript" src="/your-ofbiz-context-path/ueditor/ueditor.all....

    OFBIZ2.0 入门手册,适合刚学习的朋友们

    13. **HttpRequestFileUpload**: 处理HTTP文件上传的工具。 14. **SendMailSMTP**: 实现SMTP协议的邮件发送功能。 **OFBIZ的下载与安装** 1. 安装J2SDK 1.4,设置JAVA_HOME环境变量。 2. 从官方网站...

    Ofbiz12.04 进阶之三 第一个Helloword的应用

    这通常涉及到重新打包OFBiz应用,并上传到OFBiz服务器的部署目录。 - 通过OFBiz的Web界面或者API调用新服务,验证其是否能够正常工作。在“Ofbiz12.04 进阶之三”中,博文可能会详细介绍如何进行这个步骤。 5. **...

    java文集

    ext学习笔记一 小试iBatis RIA(Rich Internet Application)的现状和未来 Java应用中域名解析不过期的解决方法 Java编程那些事儿45—数组使用示例1 一步步熟悉OFBiz 用Java做客户端调用.NET写...

Global site tag (gtag.js) - Google Analytics