`
提烟而过
  • 浏览: 116238 次
  • 性别: 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;
    	}
    }
   
}

 

分享到:
评论

相关推荐

    自已上传的文件下载还要分

    Documents and Settings\kwchen\桌面\DESEndecrypter.java

    web大文件上传代码

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

    自已写上传组件

    原代码 博文链接:https://lin3qun.iteye.com/blog/235688

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

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

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

    VBA示例之 求人不如自已动手 下载文件到指定目录,供初学者参考,大牛勿进~~~~~~~

    基于j2se ftp协议实现 的文件、图片上传程序源代码

    自已动手写的一个基于j2se标准、ftp协议实现的文件上传源代码。里边下载功能的代码也写好了。只是没有添加到界面上,想要的可以自已动手加进去 有什么好的意见也可提出来。

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

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

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

    读写Word或Excel文件数据到自已的工程中,或把自已工程中的数据让要求写到Word或Excel中

    自已写记事本 MyTXT

    自已写记事本 一个和注册表相关联的记事本

    jsp 文件上传和下载

    好的东东 自已做的简单东西 拿来和大家分享恩 希望可以给开始做jsp的自学者有点帮助

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

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

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

    自已写的FPGA使用SPI模式读写FLASH ,Flash型号W25Q128BV。

    围棋游戏——java源代码

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

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

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

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

    自已前阵子写的百度排行音乐下载工具。多线程下载。自动修改音乐标题歌手(可扩展)。面向对象设计

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

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

    用halcon自已写的直线测量的例子,可以设置卡尺,搜索框,给新手一个启发

    用halcon自已写的直线测量的例子,可以设置卡尺,搜索框,给新手一个启发

    將多個文件融合在一起EXE融合器

    該版本拋棄了討厭的IMS文件,直接將文件路徑名做成EXE文件來執行。 另外,該版本還增加了文件合并功能————就是將多個文件合并起來(捆綁)。合并好的文件不會被大多數反捆綁程序偵測到以及不會被殺毒軟件查殺。 ...

    绝对经典的网络科技公司业务代理平台

    2、网页底部版权信息及联系电话,请用记事本打开foot.asp文件,把相应的文字改成您网站的文字; 3、网页右侧下面的联系方式,请用记事本打开tel.asp文件,把相应的文字改成您网站的文字; 4、网站左侧QQ客服,请用...

    上传媒资文件至视频点播(aliyun-sdk-vod-upload) .zip

    * 该上传方式需要先将网络文件下载到本地磁盘,再进行上传,所以要保证本地磁盘有充足的空间。参见testUploadURLStream函数。 * * 3.上传文件流,可指定本地文件进行上传,不支持断点续传,最大支持5GB的单个文件...

Global site tag (gtag.js) - Google Analytics