public class ESImgUploadUtil
extends FrameworkObject {
/*
* 文件上传功能
* @author LYJ
* @date 2010/09/05
*/
private static final long serialVersionUID = 1L;
private long sysMaxSize = (5024*1024);
private List fileTypes = Arrays.asList(new String[]{".GIF",".JPG",".JPEG"});
public static final String FILE_SEPARATOR = "file.separator";
public static final String DEFAULT_FILE_UPLOAD_PATH = "repository";
private String msg = "";
private ESImgUploadModel eSImgUploadModel = new ESImgUploadModel();
private EsRepairFacade facade = new EsRepairFacade();
private List upLoadFileList = new ArrayList();
public String imgFileUpLoad(HttpServletRequest request,String curId,String itemId){
DiskFileUpload diskFileUpload = new DiskFileUpload();
//设置文件流编码
if(request.getCharacterEncoding().equals("")||request.getCharacterEncoding()==null){
diskFileUpload.setHeaderEncoding("UTF_8");
}else{
diskFileUpload.setHeaderEncoding(request.getCharacterEncoding());
}
//获得用户当前项目路径
String dir = getProperty(USER_DIR);
String tempDir = dir+"\\imgTemp";
String upLoadDir = dir+"\\imgUpLoad";
File temp_Dir = new File(tempDir);
File upLoad_Dir = new File(upLoadDir);
eSImgUploadModel.setSizeMax(sysMaxSize);
//检查目是否存在,若不存在 刚创建此目录
try {
if(!temp_Dir.exists()){
//创建目录
temp_Dir.mkdir();
}
if(!upLoad_Dir.exists()){
upLoad_Dir.mkdir();
}
} catch (Exception e) {
msg += e.getMessage();
}
//设置上传文件大小
diskFileUpload.setSizeMax(sysMaxSize);
//设置充许存在在内存缓存中的大小
diskFileUpload.setSizeThreshold(4096);
//设置上传文件的大小一但超过setSizeThreshold大小时,即存到RepositoryPath的物理路径下
diskFileUpload.setRepositoryPath(DEFAULT_FILE_UPLOAD_PATH + System.getProperty(FILE_SEPARATOR));
//得到上传信息
try {
List list = diskFileUpload.parseRequest(request);
Iterator iter = list.iterator();
while(iter.hasNext()){
FileItem item = (FileItem)iter.next();
if(!item.isFormField()){
eSImgUploadModel.setItemId(itemId);
String fileName = item.getName();
eSImgUploadModel.setFilePath(upLoadDir);
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);//获得文件名,且不包括路路径
eSImgUploadModel.setFileName(fileName);
long fileSize = item.getSize();
eSImgUploadModel.setFileSize(fileSize);
//获取文件类型
String fileType = fileName.substring(fileName.lastIndexOf("."));
eSImgUploadModel.setFileType(fileType);
fileType = fileType.toUpperCase();
if(fileTypes.contains(fileType)){
if(fileName != null && !fileName.equals("") && fileSize!= 0){
//开始操作文件的上读入
item.write(new File(upLoadDir,fileName));
upLoadFileList.add(eSImgUploadModel);
facade.upLoadPhoto(eSImgUploadModel,curId);
}
}else{
msg += "SERVICE.MESSAGE_FILE_TYPE";
}
}
}
} catch (FileUploadException e) {
msg += e.getMessage();
} catch (Exception e) {
msg += e.getMessage();
}
return msg;
}
public String getMessage(){
return this.msg;
}
public List upLoadFileList(){
if(this.upLoadFileList.size()< 1){
return null;
}else{
return this.upLoadFileList;
}
}
}
分享到:
相关推荐
标题中的“自已写上传组件”意味着我们要讨论的是如何创建一个自定义的文件上传功能,这通常涉及到前端和后端的交互,以及处理文件上传的流程。在IT领域,文件上传是网页应用的一个常见功能,它允许用户将本地文件...
Documents and Settings\kwchen\桌面\DESEndecrypter.java
将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...
本示例聚焦于利用VBA编写代码来实现从网络下载文件并将其保存到用户指定的目录。对于初学者而言,这是一个非常实用的技能,可以极大地提高工作效率。 首先,我们需要理解VBA的基础语法和结构。VBA代码通常包含声明...
将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...
- 保存文件:编辑器应提供保存功能,将用户编辑的内容写入到磁盘文件中,通常以.txt格式保存,这也是记事本程序的基本任务。 - 打开文件:打开已存在的文本文件供用户编辑。 - 复制/剪切/粘贴:基础的文本操作,...
在IT行业中,与“读写Word或Excel文件数据到自已的工程中”相关的知识点主要涉及文件操作、数据处理和文档生成技术。这些技术在数据分析、项目管理、自动化办公等多个领域都有广泛的应用。下面将详细阐述相关的核心...
将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...
综合以上分析,这个“做自已的网盘”系统是一个基于ASP.NET开发的,集成了用户管理、文件上传下载、共享权限控制等功能的本地网络存储解决方案。其设计考虑到了易用性和安全性,适合那些希望在内部网络环境中搭建...
【标题】: "自已写得计算器JAVA代码,欢迎下载看看" 这个标题表明这是一个关于Java编程的项目,作者自己编写了一个计算器程序,并鼓励其他人下载学习。这个计算器可能是基于控制台或者图形用户界面(GUI)实现的,...
本篇文章将聚焦于一个特定的话题——“Vue自已写的日历插件”,通过这个话题,我们将深入探讨如何在Vue中创建自定义日历组件,以及它背后的原理和实践。 首先,创建一个日历插件通常涉及到以下几个关键点: 1. **...
根据提供的文件标题、描述、标签以及部分内容,我们可以总结并扩展出以下有关文件夹压缩与解压缩的相关知识点: ### 文件夹压缩与解压缩技术概述 在计算机科学领域中,文件压缩是一种减少文件占用存储空间的技术...
将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...
此外,还有片选信号CS(Chip Select),通常由主机设备在每次传输开始时将其拉低,以选择要与之通信的从设备。 在FPGA实现SPI主控端,你需要设计一个SPI控制器模块,该模块应包含以下部分: 1. **时钟发生器**:...
自已做的围棋游戏——个人比较喜欢下围棋,里面涉及了好一些算法,比如关于死子的,这个小项目已经更新了好几个版本了,用eclipse或者myeclipse运行,运行GameFrame.java就可以看到运行界面,项目用于学习用,如果有...
C# vs 2010 .net 4.0。 自已写来自已用的,传到网上交流一下,主要有 一,备忘记录,提醒,增加,修改,删除等 二,日志功能,提醒每天写日志,方便工作总结。 大家有什么好的想法,可以评论哦。
该工具是基于.Net框架,使用C#编程语言开发的一个实用程序,主要功能是下载百度音乐排行榜上的歌曲。这个工具展示了开发者在实现多线程下载、元数据处理以及面向对象设计等方面的技能。 首先,让我们深入了解一下...
自已写的一个WEB站点日志程序 <br>作用: 将调试信息写到日志文件中去。 <br>特点: 一、不用指定目录,默认是在站点目录下生成一个logs目录,生成日志的文件名是:站点虚拟目录.日期.log,当然你也可以...
通过"可以把目录下文件用不同的图片显示出来",我们可以推测,此程序具备将非图片文件(如文档、音频、视频等)转换为缩略图的能力,以提供更为直观的浏览体验。 【标签】"PHP源码-其它类别"提示我们,这不仅仅是一...
总的来说,《用Dreamweaver MX打造自已的Blog》教程将引导你完成从设计构思到网站上线的全过程,让你掌握使用这款强大工具创建博客的技能。通过学习和实践,你不仅可以创建出个性化的博客,还能进一步提升你的网页...