图片压缩后上传!Flash图片极速上传!提供参数控制!
需求
如果用户使用数码相机照的照片一般都会在很大!(2M~5M)
一般网站都会在用户上传照片后对照片进行适当压缩,以提高网页浏览时照片的加载速度。
如果可以在客户端对照片压缩后上传,可以节省带宽,并且也减轻服务器压力。会有很好的用户体验!以前实现这样的功能都需要借助上传组件!
其实使用Flash 10.0就可以实现照片压缩后上传。
原理
首先使用Flash的上传功能让用户选择要上传的照片。
加载选择照片的数据到Flash中。(此功能需要Flash10.0以上版本)
将数据加载到Flash的image组件中。
将image按照合适大小进行缩放。
在对image的显示区域进行Flash截图存入Bitmap。
将Bitmap转换为Jpg格式数据。
使用post方式将Jpg数据发送到服务器端!
<!DOCTYPE html>
<html>
<head>
<title>图片压缩上传</title>
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body onload="showFlash();">
<div id="divFlash">
加载中...
</div>
<script type="text/javascript">
function showFlash() {
var params = {
serverUrl: "saveImage.aspx",
jsFunction: "flashReturn",
imgWidth:500,
imgHeight:500,
imgQuality:80,
btnText:'图 片'
}
swfobject.embedSWF("imgZipUpload.swf", "divFlash", "100", "30", "10.0.0", "expressInstall.swf", params);
}
function flashReturn(type, str) {
if(type == 'error')
{
alert(str);
}
else if (type == 'complete')
{
var img1 = document.getElementById('img1');
img1.style.display = "block";
img1.src = str;
}
}
</script>
<img id="img1" style="display:none;" />
</body>
</html>
Flash参数说明
参数 名称 是否必填 默认值 取值范围
serverUrl 服务器端响应地址 必填项
imgWidth 图片缩放宽度 选填 100 10-2000
imgHeight 图片缩放高度 选填 100 10-2000
imgQuality 图片质量 选填 80 1-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(""); 上传成功返回数据
实例及源码下载:
http://files.cnblogs.com/zjfree/imgZipUpload.rar
后记:
欢迎使用我的多文件版本,支持图片压缩后上传,支持任意格式文件。
http://seaskys.iteye.com/blog/1579486
分享到:
相关推荐
这个项目用的是SwfUpload批量上传,这个第三方库在上传之前并没有进行图片压缩和上传后图片显示功能,本人改写了flash,实现了图片上传前首先压缩图片,2M的图片压缩后100K到200K,上传后进行图片显示。采用的是java...
在IT行业中,图片压缩是一个非常重要的领域,尤其是在网络传输、存储和显示方面。"图片压缩flex demo"这个项目显然关注的是使用Flex技术进行图片压缩的示例。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的...
在图片压缩上传中,File API允许我们获取用户选择的图片文件,并对其进行操作,如读取文件内容,检查文件类型和大小等。 2. **.FileReader接口**:FileReader对象是File API的一部分,用于异步读取文件。通过`...
在图片压缩的上下文中,Flash可以用来在客户端预处理图片,通过内置的图像处理功能对图片进行压缩,降低图片大小,从而减少上传的数据量和服务器的处理压力。然而,由于Flash的安全性和浏览器支持的问题,现代网页...
综上所述,JavaScript图片压缩上传需要结合HTML5的Canvas和FileReader API,通过C#后端接收并处理压缩后的图片。在实际项目中,还需要考虑浏览器兼容性和安全性问题,确保功能的稳定和安全。提供的代码示例压缩包...
4. **图片压缩**:在上传前对图片进行压缩,减少网络传输的数据量,尤其在手机环境下,能够显著提升上传速度并节省流量。 5. **预览功能**:用户在上传前可以预览图片,增加了交互性和准确性。 6. **文件类型过滤*...
在Asp.Net后台,接收到上传的图片后,需要对这些文件进行处理,比如验证文件类型、大小,可能还需要对图片进行压缩、重命名等操作,以确保安全性和存储效率。处理完成后,图片会被保存到服务器的某个目录下,并可能...
这个组件从百度编辑器中提取出来,独立成为一个功能强大的工具,提供了丰富的图片处理功能,如图片压缩和反转等。在网页开发中,这种组件能够极大地提升用户体验,特别是对于那些需要频繁上传多张图片的用户,如内容...
【标题】"v9修改flash附件上传为h5上传.zip"是一个针对PHPCMS V9内容管理系统(CMS)的...完成上述步骤后,PHPCMS V9系统就能在不支持Flash的浏览器上继续提供文件上传服务,提升了用户体验并跟上了技术发展的步伐。
综合上述信息,这个压缩包可能包含了一个基于Flash的多图片上传组件,该组件不仅支持批量上传,还集成了图片压缩和预览功能。然而,具体的实现细节、源代码、文档或示例可能需要通过解压“ssssdd”这个文件来获取。...
标题中的“flash上传图片到ASP后台完整源代码”是指一种技术方案,用于通过Flash技术将用户选择的图片文件上传到服务器端,服务器端使用ASP(Active Server Pages)进行处理。Flash在早期的网页开发中经常被用来实现...
在服务器端,接收到Flash上传的图片后,通常需要进行验证(如文件类型、大小限制)、存储(可能包括重命名、转码、压缩等操作)以及反馈给客户端确认上传成功或失败。这些处理可以使用各种服务器端语言,如PHP、Java...
因此,"html5压缩上传图片"是一个重要的优化策略,尤其在iOS平台上,由于其不支持Adobe Flash,HTML5成为了实现图片压缩上传的首选方案。 HTML5引入了File API,这是一个允许在用户选择文件后进行读取、操作和上传...
- Flash支持文件选择对话框,用户选择头像图片后,通过Flash发送HTTP请求到PHP服务器进行上传。 - 实现无刷新上传,关键在于利用Flash的XMLSocket或URLStream类实现实时数据传输。 3. **图片裁切**: - 在Flash...
在IT行业中,Flash是一款历史悠久且曾经广泛应用于网页设计和多媒体创作的软件,尤其在创建动态图像、交互式动画以及图片展示方面表现出色。本压缩包包含的“Flash图片展示效果”是一个典型的Flash项目,用于创建...
描述:这个资源包是为网页设计的,它集成了Flash技术来实现摄像头捕捉、截图以及图片上传的功能。用户可以直接在网页上进行操作,无需额外安装软件或插件。 标签:“flash” —— 这表明该功能是基于Adobe Flash ...
“图片压缩、上传、图片裁剪”是项目中的功能模块,这表明该Flex应用提供了图像处理服务。图片压缩可能涉及算法优化,减少图像文件大小以提高网页加载速度或节省存储空间。图片上传则涉及到前端与后端的交互,用户...
在本场景中,我们关注的是一个使用ASP(Active Server Pages)技术和Flash技术实现的图片上传解决方案,它允许用户进行可视化的裁剪和预览,确保上传的图片符合特定的尺寸要求,通常用于创建个人头像等应用。...
综上所述,这个项目是一个基于Flash的图片上传解决方案,它具有客户端图片压缩功能,能够提高上传速度并减少服务器负担。源代码的提供使得用户可以根据自身需求进行定制,而PHP文件则确保了服务器端的兼容性和处理...
在IT行业中,图片处理、文件上传以及动态展示是常见的需求,尤其在网页设计和开发中。下面我们将详细探讨这些知识点。 首先,"切割图片"是指将一张完整的图片分割成若干部分,这通常用于创建拼图游戏、制作动态效果...