`
thrillerzw
  • 浏览: 143868 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

图片上传

    博客分类:
  • java
 
阅读更多

1、上传文件

1.1、struts2上传文件:
 <!-- 上传文件需要配置如下两个常量,10M上限,临时目录/tmp ,windows下我用的时候出现在d:\\tmp目录下-->
 <constant name="struts.multipart.maxSize" value="10701096" />
 <constant name="struts.multipart.saveDir" value="/tmp" />  
 页面:<input id="files" name="file" type="file" value="浏览" />
 Action: private File file;
 上传上去后,从临时目录中(如upload_baf5be8a_fab9_4f76_be4f_464876b5311d_00000005.tmp)读byte[],写成目标后缀的文件。 或者FileUtils.copyFile(file, destFile);

 

通过flash上传

      http://www.uploadify.com/demos/   java端还得从临时文件复制到目的文件。

 


html:
<script type="text/javascript" src="assets/js/jquery.js"></script>
<script src="js/uploadify/jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="js/uploadify/uploadify.css">
<input id="file_upload"  type="file"/>
js:
	<script>
    $(function() {
        $("#file_upload").uploadify({
					//浏览按钮显示文字
        	'buttonText' : '选择文件',
					//flash
          swf           : 'js/uploadify/uploadify.swf',
					//上传处理程序
          uploader      : 'upload.do?tokenCode=$!tokenCode',
					//服务器端脚本使用的文件对象的名称。java:private File file
        	'fileObjName' : 'file',
					//上传文件的大小限制 ,如:1024kb ,1mb
			    'fileSizeLimit' : '1mb',
					//允许上传的文件后缀
			    'fileTypeExts' : '*.jpg;*.jpeg;*.png',
			    //开启调试
       		'debug' : true,
       	 	//是否自动上传,默认为true
        	'auto':true,
       		 //超时时间
        	'successTimeout':99999,
						//是否可以选择多个文件上传
        	'multi'    : false,
			    //浏览按钮的宽度
          width         : 60,
			    //浏览按钮的高度
			    height        : 30,  
			    //一次可选择队列数量
        	'queueSizeLimit' : 2,
        	//上传总数量
        	'uploadLimit':3,
        	//传到后台的参数
          'formData'      : {'type' : '2','userid':'111'},

			     //返回一个错误,选择文件的时候触发
        	'onSelectError':function(file, errorCode, errorMsg){
             switch(errorCode) {
			        		//当'multi' : true,一次选择超过queueSizeLimit  或者   多次上传总共超过uploadLimit时触发
                case -100:
                    this.queueData.errorMsg="上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!";
                    break;
                case -110:
										this.queueData.errorMsg="文件 ["+file.name+"] 大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!"
                    break;
                case -120:
                    this.queueData.errorMsg="文件 ["+file.name+"] 大小异常!";
                    break;
                case -130:
                    this.queueData.errorMsg="文件 ["+file.name+"] 类型不正确!";
                    break;
            }
        },
        //检测FLASH失败调用
        'onFallback':function(){
            alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
        },
		 		//上传到服务器,服务器返回相应信息到data里
            'onUploadSuccess' : function(file, data, response){
            	data=eval("("+data+")");
            	$("#modelPic").val(data.url);
            }
        });
    });
    </script>
Action:
//属性都有set get方法
private File file;//上传文件 'fileObjName' : 'file'
private String fileFileName;//上传文件的文件名,名字以file开头+FileName
private String type; //'formData'   : {'type' : '$!type','userid':'30'},
private String url; 

@Action(value = "upload", results = { @Result(name = "success", type = "json") })
	public String upload() {
		url ="img/"+createDestName(fileFileName);
		File destFile = new File(Constants.RESOURCE_UPLOADFILE_PATH + url);
		try {
			FileUtils.copyFile(file, destFile);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
		
		
 /**
	 * 根据aa.jpg 创建 /yyyy/MM/dd/id.jpg
	 * @param orginame
	 * @return
	 */
	public  String createDestName(String orginame){
		String destName="";
		destName=new SimpleDateFormat("/yyyy/MM/dd/").format(new Date());
		destName+=UUID.randomUUID().toString().replaceAll("-", "");
		destName+=orginame.substring(orginame.lastIndexOf("."));
		return destName;
	}
	
	
可以参考 
Uploadify3.1与Uploadify2.1.4属性详细说明 :http://blog.csdn.net/lisa890608/article/details/17608321

 

2、存储文件

2.1、存储到一个目录下

2.2、分布式存储到fastdfs中。

 

 

 

 

 

分享到:
评论

相关推荐

    ASP图片上传组件 图片批量上传控件 图片上传插件

    ASP图片上传组件是一种在Web应用中用于处理用户端图片上传功能的工具,它极大地简化了开发者在ASP(Active Server Pages)环境下实现图片上传的过程。图片批量上传控件和插件则进一步增强了这种功能,允许用户一次性...

    vue+elementUI实现图片上传功能

    在前端开发中,图片上传是一种常见需求,Vue.js作为现代web开发中非常受欢迎的JavaScript框架之一,与Element UI这一基于Vue 2.0的桌面端组件库结合使用时,可以非常便捷地实现图片上传功能。Element UI提供了丰富的...

    易语言post图片上传

    本知识点聚焦于使用易语言进行POST方式的图片上传操作,这是一种常见的网络数据传输方法,尤其在网页表单提交、文件上传等场景中广泛应用。 在Web开发中,POST请求常用于向服务器发送数据,包括文本、图片等各种...

    ASP批量上传简便无刷新文件图片上传系统

    在图片上传的场景下,ASP批量上传系统可能还会包含图像处理功能,如缩略图生成、尺寸调整、质量优化等。这通常需要利用到服务器端的图像处理库,如GD库或ImageMagick。 安全方面,ASP批量上传系统需要防止恶意文件...

    移动web图片上传

    在移动Web开发中,图片上传是一项常见的功能,它允许用户通过手机浏览器选择并发送本地图片到服务器。这个过程涉及到前端和后端的交互,并且为了提供良好的用户体验,通常需要显示上传进度条。以下是对这个主题的...

    Jsp图片上传资料并将图片路径上传至数据库

    在IT行业中,图片上传功能是Web应用中常见且重要的组成部分,尤其在社交媒体、电商网站以及内容管理系统等场景中。本文将详细讲解如何实现一个基于JSP的图片上传功能,并将图片路径存储到MSSQL2000数据库中的技术...

    Android图片上传队列Service

    在Android应用开发中,图片上传是一项常见的功能,尤其是在社交、媒体分享或云存储类的应用中。为了实现这一功能,开发者通常需要设计一个高效且可靠的图片上传队列Service。本篇文章将详细探讨如何创建一个名为...

    C#图片上传,用于winform,带图片预览

    在C#编程环境中,开发一个用于WinForms应用的图片上传功能是一项常见的任务,尤其是在构建具有用户交互界面的应用程序时。这个功能通常会结合文件选择、图片预览以及上传操作,为用户提供直观且易于使用的体验。以下...

    uniapp多张图片上传.rar

    本示例项目 "uniapp多张图片上传.rar" 提供了一个关于如何在 uniapp 中实现多张图片上传的实例,下面我们将详细探讨这个知识点。 首先,`main.js` 是应用的主入口文件,通常用于配置全局变量和挂载根 Vue 实例。在...

    Java实现图片上传

    在IT行业中,图片上传功能是Web应用和移动应用中非常常见的一种需求,特别是在社交媒体、电商、博客等场景下。本文将深入探讨如何使用Java来实现图片上传的功能,主要涉及的技术点包括文件处理、HTTP请求、Multipart...

    MultiPhotoUpload多图片上传

    《MultiPhotoUpload多图片上传技术详解》 在数字化时代的今天,图像信息的交流与分享日益频繁,多图片上传功能已经成为各类应用和平台不可或缺的一部分。"MultiPhotoUpload"就是这样一个专门针对商户平台评论、发表...

    FraUpload多图片上传.zip

    FraUpload多图片上传插件是一款专门用于实现网页端多张图片上传功能的工具,它基于Stable框架构建,提供了一种高效、稳定的解决方案。这款插件不仅支持批量上传,还具备图片预览、可拖动排序等人性化特性,极大地...

    java实现图片上传并显示

    在Java Web开发中,图片上传是一项常见的功能,用于允许用户上传他们的图片文件到服务器,然后在网站上展示。本教程将深入讲解如何使用Struts2框架和Apache Commons FileUpload库来实现这一功能。 首先,我们需要...

    ASP.NET MVC实现图片上传、图片预览显示

    在Web应用开发中,图片上传和预览显示是一项非常常见的需求,涉及到前端页面与后端处理的配合,以及对数据库的操作。 本文详细介绍了如何在*** MVC框架中实现图片上传和预览显示的整个过程,这包括前端页面设计、...

    图片上传本地预览插件

    在IT领域,图片上传本地预览插件是一个常见的功能组件,尤其在网页应用和桌面软件中,它极大地提升了用户体验。这个插件的核心作用是让用户在实际上传图片到服务器之前,能够在本地环境中预览图片效果,确保图片的...

    JS+asp.net+图片上传+预览+支持多上传+上传前预览

    在本文中,我们将深入探讨如何使用JavaScript(JS)与ASP.NET技术实现图片上传、预览以及支持多文件上传和上传前预览的功能。这个技术组合是现代Web应用中常见的需求,尤其是在用户交互丰富的网站和应用中。 首先,...

    struts2图片上传并预览

    在Web开发中,图片上传和预览是常见的功能需求,尤其对于用户交互丰富的应用来说。Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件...

    Flex4.6+java+servlet上传图片例子+图片上传预览

    这个"Flex4.6+java+servlet上传图片例子+图片上传预览"的项目,结合了前端的Flex技术和后端的Java Servlet,为我们提供了一个完整的解决方案。下面将详细解释这个项目的各个组成部分及其工作原理。 首先,让我们来...

    图片上传展示平台

    提供了图片上传、裁剪和预览等功能,对与图片处理相关的程序具有重要的借鉴参考意义。 使用方法:下载压缩包后解压到本地,然后使用Eclipse或MyEclipse导入项目即可,项目路径中包含docs文件夹,里面有数据库表文件...

    仿淘宝图片上传

    【仿淘宝图片上传】是一个基于jQuery实现的图片上传功能,主要目标是提供与淘宝网站类似的用户体验,让用户能够方便快捷地上传图片。这个功能通常包括图片预览、多图选择、图片裁剪、上传进度显示等多个关键步骤,...

Global site tag (gtag.js) - Google Analytics