在使用document.getElementById('xxx').files[0]时,关于计算图片大小
在使用文件上传属性时,一直好奇图片上传的大小时如何计算的,最近在使用中认识到的计算方式:
首先,图片大小的存储基本单位是字节(byte)。每个字节是由8个比特(bit)组成。所以,一个字节在十进制中的范围是[0~255],即256个数。
再来说说图片怎么计算出大小的吧
1.图像占用内存空间的大小:分辨率 * 位深 / 8
2.分辨率:宽 * 高 (其中这些属性都可在图片的属性栏中查看到)
具体计算方式: 宽*高*位深/8/1024 得出的就是图片的大小(KB)
但是这里我更倾向于反向利用H5的files[0]来计算出图片的大小:
1.获取到图片的size值:如
var _files = document.getElementById('xxx').files[0].size;//获取到图片的size值
2.计算图片大小
// 1B=8b(大写的B代表Byte,即“字节”。小写的b代表bit,即“位”。这个大小写要严格区分的)
1KB=1024B
1MB = 1024KB
byte = _files/1024; // 得到的就是图片的大小了
在使用document.getElementById('xxx').files[0]时,关于计算图片大小的更多相关文章
- PHP jQuery实现上传图片时预览图片的功能实例
在PHP项目开发中,有时候经常需要做添加图片的功能.添加图片时,一般需要即时预览上传的图片.下面这个例子就是简单的预览上传图片功能,代码如下(分两部分): 1.HTML代码: <div clas ...
- JS判断图片上传时文件大小和图片尺寸
如何读取图片的size: 首先,原生input file控件有个files属性,该属性是一个数组.数组中的元素有以下属性:lastModifiedDate,name,size,type,webkitR ...
- js用document.getElementById时要注意!
<!DOCTYPE html> <html lang="en"> <head> <script src="http://code ...
- 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误
导读:一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,冷静思考,把握主次,从底层框架入手 本文将为大家介绍一下 ASP.NET中在创建母版页时引来的 ...
- jquery 中的 $("#id") 与 document.getElementById("id") 的区别
以前没注意过,认为jquery 中的 $("#air") 与 document.getElementById("air") 是一回事,指的是同一个东西.在今天写 ...
- document.getElementById 和 document.getElementsByClassName获取DOM元素的区别
想必小伙伴们对于 JS 获取DOM的几种方法早已烂熟于心,了然于胸, 尤其是 document.getElementById 和 document.getElementsByClassName, ...
- document.getElementById/Name/TagName
document.getElementById 1.getElementById 作用:一般页面里ID是唯一的,用于准备定位一个元素 语法: document.getElementById(id) 参 ...
- 求x>0时,y=x^3-6x^2+15的极值
解: 当x→∞时,y也→∞,所以y没有最大值. y=x3-6x2+15=-4*(x/2)*(x/2)*(6-x)+15 而根据几何平均数小于等于算术平均数的定理,(x/2)*(x/2)*(6-x)在x ...
- document.getElementById()
使用两个for循环取json数据的时候出错: 代码简化如下: for(var a=0;a<3;a++){ for(var b=0;b<3;b++){ document.getElement ...
随机推荐
- Qt Creator 整合 python 解释器教程
目录 1. 前言 2.前提条件 3.步骤 3.1 新建 python文件 3.2 编写 python 代码 3.3 配置 python 解释器 3.4 执行 python file 1. 前言 Pyt ...
- linux下stricky
阅读文章链接http://www.linuxdiyf.com/viewarticle.php?id=79380 suid.sgid很易懂,stricky常忘了含义,做个笔记: 该位只对目录配置 ...
- Access denied for user(这个几乎让我怀疑人生的异常)
昨天一时兴起,打算根据自己的某些想法,业余时间写一个简单的项目,用以巩固那些重要的知识,以及练手一些即将学习的技术. 然而才一开始,便有一盆冷水迎面而来,在搭建整个框架环境的时候竟然就被卡住了!主要是 ...
- MyEclipse提示
MyEclipse提示 1.具体如下图 2.提示原因 3.解决办法
- 芝麻HTTP:Appium的安装
Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android.iOS等设备完成自动化测试,比如模拟点击.滑动.输入等操作,其官方网站为:http://appiu ...
- 剑指offer 第十天
37.数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数. 采用二分查找法 /* 方法一:时间复杂度O(n),不可选 */ public class Solution { public i ...
- 关于CS1061报错(XX不包含XXX的定义,并且找不到类型为XX的第一个参.....)的一种可能的解决的办法
在我编程中,我遇到了一个这样的报错, 可是我引用的product类中又确实定义了这么一个方法, protected void BindPageData(int categoryID) { Produc ...
- oracle的下载地址以及步骤
一.下载地址 1.oracle官网:https://www.oracle.com/cn/index.html 2. 点击右上角先选择语音,然后注册一个新账户,如果有oracle直接登录就可以 3.点击 ...
- linux和windows通用的路径
String path=request.getSession().getServletContext().getRealPath("/")+"js" + Sys ...
- AJAX的简洁写法
// ajax操作 $('#btn').on('click',function(){ var url = "{:url('confirm')}"; var actual_money ...