普通方式:
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. **位置**: OFBiz 的主题文件通常存储在 `themes` 文件夹内。 - 示例路径:`/ofbiz/framework/webapp/themes` - 内含多个子文件夹,每个子文件夹代表一个不同的主题,例如 `bizznesstime`。 2. **结构**: - *...
控制器依据XML配置文件映射请求到对应的处理器,处理器执行模型操作,然后控制器根据处理结果更新视图并返回给用户。过滤器(Filter)在OFBIZ中扮演重要角色,它在请求到达Servlet之前进行预处理,可以用来实现安全...
4. **创建JSP页面**:在Ofbiz的JSP文件中引入ueditor的JavaScript库。通常在需要使用ueditor的地方,添加如下代码: ```html <script type="text/javascript" src="/your-ofbiz-context-path/ueditor/ueditor.all....
13. **HttpRequestFileUpload**: 处理HTTP文件上传的工具。 14. **SendMailSMTP**: 实现SMTP协议的邮件发送功能。 **OFBIZ的下载与安装** 1. 安装J2SDK 1.4,设置JAVA_HOME环境变量。 2. 从官方网站...
这通常涉及到重新打包OFBiz应用,并上传到OFBiz服务器的部署目录。 - 通过OFBiz的Web界面或者API调用新服务,验证其是否能够正常工作。在“Ofbiz12.04 进阶之三”中,博文可能会详细介绍如何进行这个步骤。 5. **...
ext学习笔记一 小试iBatis RIA(Rich Internet Application)的现状和未来 Java应用中域名解析不过期的解决方法 Java编程那些事儿45—数组使用示例1 一步步熟悉OFBiz 用Java做客户端调用.NET写...