Data URI scheme:data:image/jpeg;
今天在用一个croppic的jQuery裁剪图片的插件的时候,发现在后台获取图片时,无法通过Request.File获取了,但是通过Request.Form[]可以。用firebug跟了一下发现,图片传输的数据不是一个文件流的形式进行提交的,而是一个表单元素,如下图所示:
经过一番度娘后,学习了新知识,原来是浏览器通过Data URI scheme 把图片利用base64编码把图片数据翻译成标准的ASCII字符。
在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
不只是数据的提交,在数据的渲染时候,也可以这么用:<img src="data:image/jpg;base64,iVBORw0KGgo"/>等效于:<img src="http://www.oschina.net/img/logo_s2.png"/>
优点:Data URL是在本地直接绘制图片,不是从服务器加载,所以节省了一个HTTP 请求,起到加速网页的作用。
缺点:适合于小图片,因为用这种方式会增加网页的大小,所以文件太大了不合适,另外IE8以下浏览器不支持这种方法。用这种方法会加重客户端的CPU和内存负担,因为浏览器不会缓存这种图像。
附加:asp.net后台程序如何获取这种编码并且保存成文件呢?
然后SaveAs一下就OK了。
学习地址:http://www.jb51.net/css/41981.html http://www.cnblogs.com/xcsn/p/4677373.html https://www.lvtao.net/dev/php-image-data-url.html
最新文章
- JS只能输入数字,数字和字母等的正则表达式
- ZOJ 3703 Happy Programming Contest
- Java以基础类库
- 新版Xcode无法新建iOS空项目解决方案
- 可视化(番外篇)——SWT总结
- 关于thenao.scan() fn函数参数的说明
- Yii路径总结
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- 《Python 学习手册4th》 第十五章 文档
- php目录分隔符DIRECTORY_SEPARATOR
- 在VS上配置OpenCV
- 基于visual Studio2013解决C语言竞赛题之1008整除数
- 设计模式之空对象(Null Object)模式
- Wpf之布局
- 再起航,我的学习笔记之JavaScript设计模式21(命令模式)
- 利用GCD 中的 dispatch_source_timer 给tableViewCell添加动态刷新的计时/倒计时功能
- 1945 : 卡贩子Carol
- ecstore Fatal error: Class &#39;base_request&#39; not found
- 实现类QQ的编辑框
- Python面试题目--汇总
热门文章
- 解决ASP.NET Core部署到IIS,更新项目";另一个程序正在使用此文件,进程无法访问";
- asp.net mvc 4.0 新特性之移动特性
- [luoguP2680] 运输计划(lca + 二分 + 差分)
- SGU 485 Arrays
- 几道splay
- 中间件解析FDMEMTABLE.delta生成SQL的方法
- 链表中倒数第N个元素——剑指Offer
- 【python】字符遍历
- 读书笔记-APUE第三版-(7)进程环境
- LeetCode 811. Subdomain Visit Count (子域名访问计数)