网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

图片压缩后上传[Flash]【附示例源码下载】

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

图片压缩后上传!Flash图片极速上传!提供参数控制!

需求【示例源码下载】

如果用户使用数码相机照的照片一般都会在很大!(2M~5M)
一般网站都会在用户上传照片后对照片进行适当压缩,以提高网页浏览时照片的加载速度。
如果可以在客户端对照片压缩后上传,可以节省带宽,并且也减轻服务器压力。会有很好的用户体验!以前实现这样的功能都需要借助上传组件!
其实使用Flash 10.0就可以实现照片压缩后上传。

原理

首先使用Flash的上传功能让用户选择要上传的照片。
加载选择照片的数据到Flash中。(此功能需要Flash10.0以上版本)
将数据加载到Flash的image组件中。
将image按照合适大小进行缩放。
在对image的显示区域进行Flash截图存入Bitmap。
将Bitmap转换为Jpg格式数据。
使用post方式将Jpg数据发送到服务器端!

调用方法 

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4.     <title>图片压缩上传</title> 
  5.     <script type="text/javascript" src="swfobject.js"></script> 
  6. </head> 
  7. <body onload="showFlash();"> 
  8.  
  9.     <div id="divFlash"> 
  10.         加载中 
  11.     </div> 
  12.     <script type="text/javascript"> 
  13.         function showFlash() { 
  14.             var params = { 
  15.                 serverUrl: "saveImage.aspx", 
  16.                 jsFunction: "flashReturn", 
  17.                 imgWidth:500, 
  18.                 imgHeight:500, 
  19.                 imgQuality:80, 
  20.                 btnText:'图 片' 
  21.             } 
  22.             swfobject.embedSWF("imgZipUpload.swf", "divFlash", "100", "30", "10.0.0", "expressInstall.swf", params); 
  23.         } 
  24.  
  25.         function flashReturn(type, str) { 
  26.             if(type == 'error') 
  27.             { 
  28.                 alert(str); 
  29.             } 
  30.             else if (type == 'complete') 
  31.             { 
  32.                 var img1 = document.getElementById('img1'); 
  33.                 img1.style.display = "block"
  34.                 img1.src = str
  35.             } 
  36.         } 
  37.     </script> 
  38.     <img id="img1" style="display:none;" /> 
  39. </body> 
  40. </html> 

 

Flash参数说明

参数名称是否必填默认值取值范围
serverUrl服务器端响应地址必填项  
imgWidth图片缩放宽度选填10010-2000
imgHeight图片缩放高度选填10010-2000
imgQuality图片质量选填801-100
jsFunction回调JS函数选填  
btnText上传按钮文字选填上 传 

说明:

  • 用户上传照片会等比压缩在指定范围内。
  • 但当用户照片尺寸必需要缩放尺寸小时,不对用户照片进行缩放。
  • 上传时只支持上传jpg或bmp格式图片。因为png或gif如果是透明的在压缩后会变得不透明,所以不支持png或gif图片上传。
  • imgQuality 图片质量数值越大质量越高,但文件也会越大。
  • jsFunction 回调JS函数参数type,str  type 当为error时,str为错误信息 当为complete,str为服务器端返回值
  • Flash中的按钮必须用户手动点击后才会弹出选择文件框!

服务器端页面(Asp.net)

  • Request.InputStream 压缩后的jpg文件流
  • Request.Headers["fileName"] 用户图片名称
  • Request.Headers["width"] 压缩后宽度
  • Request.Headers["height"] 压缩后高度
  • Response.Write(""); 上传成功返回数据
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师