上传图片转为blob URL和计算文件大小
{
getFileUrl: function getFileUrl(fileInputId) {
var uri = {
url: '',
filename: '',
filetype: '',
data: ''
};
var fileObj = typeof fileInputId === 'string' ? document.getElementById(fileInputId) : fileInputId;
if (!utils.isCanUploadFileAsync || !fileObj) {
return uri;
}
try {
if (window.URL.createObjectURL) {
var fileItems = fileObj.files;
if (fileItems.length > 0) {
var u = fileItems.item(0);
uri.data = u;
uri.url = window.URL.createObjectURL(u);
uri.filename = u.name || '';
}
} else {
// IE
var u = document.getElementById(fileInputId).value;
uri.url = u;
var pos1 = u.lastIndexOf('/');
var pos2 = u.lastIndexOf('\\');
var pos = Math.max(pos1, pos2);
if (pos < 0) uri.filename = u;else uri.filename = u.substring(pos + 1);
}
var index = uri.filename.lastIndexOf('.');
if (index != -1) {
uri.filetype = uri.filename.substring(index + 1).toLowerCase();
}
return uri;
} catch (e) {
throw e;
}
},
getFileSize: function getFileSize(file) {
var fileSize = this.getFileLength(file);
if (fileSize > 10000000) {
return false;
}
var kb = Math.round(fileSize / 1000);
if (kb < 1000) {
fileSize = kb + ' KB';
} else if (kb >= 1000) {
var mb = kb / 1000;
if (mb < 1000) {
fileSize = mb.toFixed(1) + ' MB';
} else {
var gb = mb / 1000;
fileSize = gb.toFixed(1) + ' GB';
}
}
return fileSize;
},
getFileLength: function getFileLength(file) {
var fileLength = 0;
if (file) {
if (file.files) {
if (file.files.length > 0) {
fileLength = file.files[0].size;
}
} else if (file.select && 'ActiveXObject' in window) {
file.select();
var fileobject = new ActiveXObject('Scripting.FileSystemObject');
var file = fileobject.GetFile(file.value);
fileLength = file.Size;
}
}
return fileLength;
}
}
上传图片转为blob URL和计算文件大小的更多相关文章
- 指定URL,计算文件大小
将http://www.baidu.com替换成指定的URL,就可以获得文件的大小. 文件大小已经转换为以KB为单位. url对象用openconnection()打开连接:获得URLConnecti ...
- Taro文件上传:Blob Url下载Blob对象本身并通过接口上传到服务器
最近项目的文件上传遇到一个问题,就是Taro的chooseImage传给回调的是一个Blob对象,一般来说,上传控件都会导出Data Url,而Taro给了一个Blob Url,问题在于,我直接令im ...
- php 接收blob数据流,base64数据流 转为 blob二进制数据流
php正常接收参数的方式如下:$_GET$_POST$_REQUEST 但是如果跨语言接收请求参数的话,可能会出现一系列的问题,其他语言的http请求可能是基于数据流的概念来传递参数的,如果按照常规处 ...
- 网络基础、ftp任务(进度条、计算文件大小、断点续传、搭建框架示例)
一.网络基础 1.端口,是什么?为什么要有端口? 端口是为了将同一个电脑上的不同程序进行隔离. IP是找电脑:端口是找电脑上的应用程序: 端口范围:1 – 65535 : 1 - 1024 不要 ...
- php 计算文件大小
计算文件大小 主要计算文件的 size 大小,默认的为Bytes的,所以运用三元运算符,来进行转换. 转换成 Bytes->KB->MB->GB /** * @param $size ...
- 上传图片转为base64格式预览并压缩图片(不兼容IE9以下浏览器,兼容移动端ios,android)
前些天公司要求在微信移动端做上传图片并预览的功能,要求能够调用摄像头拍照并立即预览. 在网上搜了一些方法,开始自己写了个简单的功能实现代码.结果发现移动端拍照出来的图片动不动就2M+,又因为要批量上传 ...
- jquery 上传图片转为base64,ajax提交到后台
支持多张图片上传.图片上传数量修改.可以删除 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...
- Java堆栈的应用2----------中缀表达式转为后缀表达式的计算Java实现
1.堆栈-Stack 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除 ...
- URLs对象 blob URL
把指向数据的URL保存到file或者blob对象里,好处就是不需要先文件读取内容然后才能用. function createObjectURL(blob){if (window.URL){retu ...
随机推荐
- 跑monkey前开启/关闭下拉栏
@echo off cls title 别忘了跑monkey啊 :menu cls color 0A echo. echo 1.禁用systemui并重启 echo. echo 2.启用systemu ...
- __setup宏简介
内核组件用__setup宏来注册关键字及相关联的处理函数,__setup宏在include/linux/init.h中定义,其原型如下: __setup(string, fun ...
- simple demo of Handlebars.js & jquery.js
simple demo of Handlebars.js & jquery.js <html> <head> <script src="jquery-1 ...
- 快速排序(java)
快速排序是冒泡排序的优化,是一种非常高效的排序, 甚至是目前为止最高效的排序,其思想是这样的:设数组a中存放了n个数据元素,low为数组的低端下标,high为数组的高端下标,从数组a中任取一个元素(通 ...
- QT时钟绘制
Demo的效果 资源占用还能接受 运行久一点内存就下去了 下面是Demo的代码 #include "mainwindow.h" #include "ui_mainwind ...
- MFC中界面自适应
void CMyDlg::OnSize(UINT nType, int cx, int cy){ CDialogEx::OnSize(nType, cx, cy); CRect rt; GetClie ...
- Programming With Objective-C---- Introduction ---- Objective-C 学习(一)
About Objective-C Objective-C is the primary programming language you use when writing software for ...
- Struts2返回JSON数据的具体应用范…
Struts2返回JSON数据的具体应用范例 博客分类: Struts2 Struts2JSON 早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具 ...
- centos6.5安装gtk开发环境
0.说明 由于 centos 默认的桌面是 gnome 的,我们知道gnome 的依赖库就是 gtk,而 gtk 各个版本的差异性还是很大的,所以我们需要根据 centos 的不同版本选择和 cent ...
- opengl1
OpenGL Programming Guide Programming Guide > Chapter 1 Chapter 1 Introduction to OpenGL Chapter O ...