`
提烟而过
  • 浏览: 118583 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

将以前的自已写的东西代走,以备以后用——文件上传下载

 
阅读更多
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

    web大文件上传代码

    将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...

    VBA示例之 求人不如自已动手 下载文件到指定目录

    本示例聚焦于利用VBA编写代码来实现从网络下载文件并将其保存到用户指定的目录。对于初学者而言,这是一个非常实用的技能,可以极大地提高工作效率。 首先,我们需要理解VBA的基础语法和结构。VBA代码通常包含声明...

    JSP大文件上传控件-access-utf8

    将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...

    自已写记事本 MyTXT

    - 保存文件:编辑器应提供保存功能,将用户编辑的内容写入到磁盘文件中,通常以.txt格式保存,这也是记事本程序的基本任务。 - 打开文件:打开已存在的文本文件供用户编辑。 - 复制/剪切/粘贴:基础的文本操作,...

    读写Word或Excel文件数据到自已的工程中

    在IT行业中,与“读写Word或Excel文件数据到自已的工程中”相关的知识点主要涉及文件操作、数据处理和文档生成技术。这些技术在数据分析、项目管理、自动化办公等多个领域都有广泛的应用。下面将详细阐述相关的核心...

    php大文件上传示例代码-mysql-utf8

    将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...

    做自已的网盘

    综合以上分析,这个“做自已的网盘”系统是一个基于ASP.NET开发的,集成了用户管理、文件上传下载、共享权限控制等功能的本地网络存储解决方案。其设计考虑到了易用性和安全性,适合那些希望在内部网络环境中搭建...

    自已写得计算器JAVA代码,欢迎下载看看

    【标题】: "自已写得计算器JAVA代码,欢迎下载看看" 这个标题表明这是一个关于Java编程的项目,作者自己编写了一个计算器程序,并鼓励其他人下载学习。这个计算器可能是基于控制台或者图形用户界面(GUI)实现的,...

    Vue自已写的日历插件

    本篇文章将聚焦于一个特定的话题——“Vue自已写的日历插件”,通过这个话题,我们将深入探讨如何在Vue中创建自定义日历组件,以及它背后的原理和实践。 首先,创建一个日历插件通常涉及到以下几个关键点: 1. **...

    文件夹压缩和解压缩自已写的一段代码

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结并扩展出以下有关文件夹压缩与解压缩的相关知识点: ### 文件夹压缩与解压缩技术概述 在计算机科学领域中,文件压缩是一种减少文件占用存储空间的技术...

    asp.net大文件上传示例代码-access-gb2312

    将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得...

    自已写的FPGA使用SPI模式读写FLASH

    此外,还有片选信号CS(Chip Select),通常由主机设备在每次传输开始时将其拉低,以选择要与之通信的从设备。 在FPGA实现SPI主控端,你需要设计一个SPI控制器模块,该模块应包含以下部分: 1. **时钟发生器**:...

    围棋游戏——java源代码

    自已做的围棋游戏——个人比较喜欢下围棋,里面涉及了好一些算法,比如关于死子的,这个小项目已经更新了好几个版本了,用eclipse或者myeclipse运行,运行GameFrame.java就可以看到运行界面,项目用于学习用,如果有...

    事务管理系统 自已写的自已用

    C# vs 2010 .net 4.0。 自已写来自已用的,传到网上交流一下,主要有 一,备忘记录,提醒,增加,修改,删除等 二,日志功能,提醒每天写日志,方便工作总结。 大家有什么好的想法,可以评论哦。

    自已写的百度歌曲排行下载工具(.Net C#)

    该工具是基于.Net框架,使用C#编程语言开发的一个实用程序,主要功能是下载百度音乐排行榜上的歌曲。这个工具展示了开发者在实现多线程下载、元数据处理以及面向对象设计等方面的技能。 首先,让我们深入了解一下...

    自已写的一个WEB站点日志程序

    自已写的一个WEB站点日志程序 &lt;br&gt;作用: 将调试信息写到日志文件中去。 &lt;br&gt;特点: 一、不用指定目录,默认是在站点目录下生成一个logs目录,生成日志的文件名是:站点虚拟目录.日期.log,当然你也可以...

    目录文件直读.rar

    通过"可以把目录下文件用不同的图片显示出来",我们可以推测,此程序具备将非图片文件(如文档、音频、视频等)转换为缩略图的能力,以提供更为直观的浏览体验。 【标签】"PHP源码-其它类别"提示我们,这不仅仅是一...

    用Dreamweaver MX打造自已的Blog(CHM)

    总的来说,《用Dreamweaver MX打造自已的Blog》教程将引导你完成从设计构思到网站上线的全过程,让你掌握使用这款强大工具创建博客的技能。通过学习和实践,你不仅可以创建出个性化的博客,还能进一步提升你的网页...

Global site tag (gtag.js) - Google Analytics