zoukankan      html  css  js  c++  java
  • 上传图片转为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;
    }
    }
  • 相关阅读:
    VMWare Server 2.0 安装虚机机网卡驱动找不到
    OutLook The profile name you entered already exists.Enter a different profile name.
    GreyBox基本应用
    Java HashMap工作原理及实现
    C# winform 自定义皮肤制作
    C# Winform 右下角弹出框
    C# winform 最小化到电脑右下角
    C# Winform 的简易聊天程序
    C# winform QQ表情弹出框的制作
    C# 网络编程 TCP编程
  • 原文地址:https://www.cnblogs.com/ecmasea/p/9138922.html
Copyright © 2011-2022 走看看