web开发中上传图片保存base64 好还是保存文件
使用base64:URL的优缺点
个人觉得base64:URL传输图片文件的好处在于:
1.减少了HTTP请求
2.某些文件可以避免跨域的问题
3.没有图片更新要重新上传,还要清理缓存的问题
不足在于:
1.浏览器支持
使用base64编码图片作为背景图片的这种技术IE6/IE7浏览器是不支持的(IE9浏览器IE7模式下支持,这里被@前端的那点破事鄙视了 )。对于目前PC页面,兼容性问题使没有文件上传以及无需更新缓存的优点不存在了。
2.增加了CSS文件的尺寸
base64编码图片本质上是将图片的二进制大小以一些字母的形式展示,例如一个1024字节的图片,base64编码后至少1024个字符,这个大小会被完全嵌入到CSS文件中(不过幸运的是也可以被gzip了,而图片文件被gzip效果不明显)。
3.编码成本
图片完成后还需要base64编码,目前估计手工完成的多,因此,增加了一定的工作量,虽然不多。
五、优缺点权衡下的实际应用价值
权衡上面所展示的优缺点,貌似base64:URL图片没有什么用武之地啊,实际上非也,有一种情况时有base64编码作为background-image背景图片利要远大于弊的。何种情况呢?
在web页面制作的时候,由于某些现实原因,我们可以会用到下面这一类图片:
1.这类图片不能与其他图片以CSS Sprite的形式存在,只能独行
2.这类图片从诞生之日起,基本上很少被更新
3.这类图片的实际尺寸很小
4.这类图片在网站中大规模使用
web开发中上传图片保存base64 好还是保存文件相关推荐
- 【笔记-node】《imooc-nodejs入门到企业web开发中的应用》
目录 课程名 备注 入门必学 nodejs入门到企业web开发中的应用 框架与工具 node.js+koa2+mysql打造前后端分离精品项目<旧岛> 项目实战 20190317-2020 ...
- 详细阐述Web开发中的图片上传问题
Web开发中,图片上传是一种极其常见的功能.但是呢,每次做上传,都花费了不少时间. 一个"小功能"花费我这么多时间,真心不愉快. So,要得认真分析下原因. 1.在最初学习Java ...
- web开发中的缓存问题的研究(一)
web开发中的缓存问题的研究(一) web开发中的缓存问题的研究(二) web开发中的缓存问题的研究(三) 一般情况下,浏览器都会缓存已经访问过的页面内容,关于如何禁止浏览器缓存的介绍,在网上到处都有 ...
- Web开发中的用户角色权限设计总结
在Web开发中关于权限管理设计大抵涉及到两个方面:一:功能方面权限设计:二:资源方面权限设计.二者比较来看,功能方面权限的可重用性更高. 1.关于权限: 按照角色权限的最简单的设计 名称 描述 用户 ...
- Web 开发中 Blob 与 FileAPI 使用简述
本文节选自 Awesome CheatSheet/DOM CheatSheet,主要是对 DOM 操作中常见的 Blob.File API 相关概念进行简要描述. Web 开发中 Blob 与 Fil ...
- 第123天:移动web开发中的常见问题
一.函数库 underscoreJS _.template: <ol class="carousel-indicators"><!--渲染的HTML字符串--&g ...
- java和Mysql数据一致性_java web开发中数据一致性的问题
在java web开发中,数据存储介质有如下几种数据库(rdms,nosql) 缓存系统(redis,memcached,ehcache) java内部数据结构(map,list) 文件存储(fast ...
- WEB开发中合理选择图片格式
从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论.事实上,或许所有人都知道图片存在GIF,JPG和PNG等格式,但并非所有人都知道它们 ...
- Web开发中的图片管理:策略与实践
前言 在Web开发中,图像是无法忽视的重要组成部分.然而,随着图片数量的增加和高清图像的普及,图片管理变得越来越复杂.在这篇文章中,我们将详细探讨Web开发中的图片管理策略和实践,包括图片优化.存储. ...
最新文章
- linux内网机器访问外网代理设置squid
- 指针数组、数组指针、数组的区别与联系
- flutter 组件IgnorePointer
- 2016 CCPC 杭州站 小结
- 利用反射机制创建新类的两种方式及比较
- 19linux关机重启20登录注销
- 大数据分析处理及挖掘技术
- 动手设计 CPU(二)—— 微程序控制的运算器
- NekoHtml 乱码出现问号的解决
- word里画的流程图怎么全选_流程图怎么做?用Word制作流程图超方便!
- git的版本回溯(git想要退回到之前写过的某一个版本)
- 金蝶k3wise 核算项目、辅助资料
- android禁用传感器,Android 系统强制禁用距离传感器方法
- 关于void show(int b),void show(int b)与void show(int* b)的区别的举例与注解
- 水滴筹赴美上市:以“善良”为名的生意经
- mongodb数据库优缺点分析(扫盲)
- MongoDB数据库增删改查基本使用
- 一年级计算机课ppt,一年级信息技术全部课程PPT课件.ppt
- 硕盟type c六合一拓展坞|苹果电脑转换器
- 传智播客网络营销系列课程-新媒体运营全集