`

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电商框架hello主题文件定制

    本主题文件定制教程主要聚焦于如何在OFBiz框架下,对"Hello"主题进行深入的个性化配置,从而提供更符合企业需求的后台管理体验。 "Hello"主题是OFBiz预设的主题之一,设计简洁明了,适合初学者快速上手。在本教程中...

    ofbiz1004运行于外部tomcat6的配置文件

    你只需要下载这个文件包中的配置文件模板,虽后放到ofbiz1004\framework\appserver\templates\tomcat6下替换原来的文件,然后再到ofbiz目录下运行java -jar ofbiz.jar -setup tomcat6 ,完成后会得到一个setup的文件...

    ofbiz权限(全)

    登录级别的权限控制定义在每个组件的`ofbiz-component.xml`文件中,用于限定用户访问该组件所需的最低权限。例如,可以通过设置`base-permission`属性来指定用户至少需要具备哪些权限才能访问该组件。例如,一个组件...

    ofbiz安装与配置

    2. 我们需要修改 Ofbiz 的配置文件(entityengine.xml),以便与 MySQL 数据库集成。 3. 我们需要在 MySQL 中创建用户和库:ofbiz、ofbizolap、ofbiztenant。 本文详细介绍了 Ofbiz 的安装与配置过程,包括环境搭建...

    Apache.OFBiz.Development

    根据给定的文件信息,以下是关于Apache OFBiz开发的知识点: 1. OFBiz介绍与安装:OFBiz是一个开源的企业自动化软件套件,它提供了构建企业应用程序所需的各种功能,比如电子商务、订单处理等。文件中提到了2008年...

    ofbiz api开发文档

    OFBiz API 是OFBiz框架的核心组成部分,它提供了丰富的接口和方法,使得开发者能够轻松地与OFBiz的各个业务组件进行交互。API的设计遵循了面向服务架构(SOA),支持RESTful风格的Web服务,同时也提供传统的Java ...

    ofbiz学习笔记(自学整理)

    然后,你需要了解Ofbiz的配置文件,如entityengine.xml、services.xml和component.xml,它们分别定义了实体模型、服务和组件的配置。 在深入学习过程中,实践是关键。通过创建和修改简单的服务和实体,你可以逐步...

    Ofbiz 数据库全模型

    这些模型文件通常为XML格式,比如`entityengine.xml`,它们定义了数据库表的字段、类型、约束等,并且可以通过Ofbiz的数据导入导出工具进行数据迁移和备份。开发者可以根据需要修改这些模型,以适应特定的业务需求或...

    ofbiz开发者入门教程

    2. 在"hot-deploy/practice"目录下,创建一个名为"ofbiz-component.xml"的组件配置文件。这个文件包含了组件的元数据,告诉Ofbiz如何加载和管理你的组件。文件内容如下: ```xml <ofbiz-component name="practice" ...

    关于OFBIZ的资料

    7. **社区资源**:OfBiz拥有活跃的社区,用户可以在论坛、邮件列表和GitHub上找到解决问题的方法,以及与其他OfBiz使用者交流的经验分享。 通过深入探索OFBIZ_Demo,无论是初学者还是经验丰富的开发者,都可以...

    ofbiz10.04表结构

    3. "OFBiz其它资源.txt":这个文件可能包含了一些额外的链接、提示或说明,可能是对OFBiz开发、部署或使用的补充资料。 综上所述,这个压缩包提供了OFBiz 10.04版本的数据库设计核心信息,对于想要深入了解或开发...

    Ofbiz 和 Mysql中文乱码解决方法.docx

    这样,JVM读取的任何文件,包括Ofbiz的配置文件,都将按照UTF-8进行解码。 通过以上三个步骤,Ofbiz在运行过程中与MySQL数据库的交互应该可以正确处理中文字符,避免出现乱码现象。然而,还需要注意其他可能的乱码...

    ofbiz开发入门总结

    4. 部署Ofbiz:将生成的WAR文件部署到你的Web服务器上,例如将`ofbiz.war`复制到Tomcat的webapps目录下,然后启动服务器。 5. 运行Ofbiz:在浏览器中输入`http://localhost:8080/ofbiz`,如果一切顺利,你应该能...

    Apache OFBiz Development The Beginner's Tutorial

    - **关闭 OFBiz**:提供正确的关闭方法,避免数据丢失。 - **首次浏览 OFBiz**: - **访问 OFBiz**:介绍如何通过 Web 浏览器访问 OFBiz。 - **探索 Web 应用“ecommerce”**:详细介绍电子商务模块的主要功能。 ...

    ofbiz 英文pdf

    - **OFBiz工作区简介**:介绍OFBiz项目的结构及基本文件组织方式。 - **安装Java开发工具包(JDK)**: - **下载JDK 5.0**:提供官方下载链接。 - **安装JDK 5.0**:给出安装过程中的注意事项及常见问题解决方案...

    OFBIZ快速入门OFBIZ快速入门

    OFBiz的目录结构分为多个部分,包括`.classpath`、`.project`等用于IDE集成的文件,以及`ant`、`build.xml`等构建相关的文件。最重要的是`applications`和`framework`目录: 1. **applications**:包含了OFBiz的...

Global site tag (gtag.js) - Google Analytics