Node.js如何获取文件大小

Node.js如何获取文件大小,第1张

const size = await utils.getFileSize(filePath)

getFileSize(file) {

    file = decodeURI(file)

    return new Promise((resolve) =>{

      if (!file) {

        resolve(0)

        return

      }

      const filePath = path.resolve(__dirname, "../public", file)

      fs.stat(filePath, (err, data) =>{

        if (err == null) {

          resolve(data.size)

          return

        }

        resolve(0)

      })

    })

  },

获取上传文件的大小:

<input type="file" name="fileId" id="fileId" class="height30 width-245">

function findSize(field_id){

var byteSize = 0

if (!+[1,] &&!$("#"+field_id).files) {

var filePath = $("#"+field_id).val()

var fileSystem = new ActiveXObject("Scripting.FileSystemObject")

byteSize = fileSystem.GetFile(filePath).size

} else{

var fileInput = $("#"+field_id)[0]

byteSize = fileInput.files[0].size

}

return ( Math.ceil(byteSize / 1024) )

}

 <input id="file_Up" name="file_Up" type="file" onchange="getFileSize(this.value)"/>

<input id="sub_Import" type="submit" value="导入" />

js中function getFileSize() {

    var btnsave = document.getElementById("sub_Import") 

    btnsave.disabled = true 

    var filepath = ""

    var fileupload = document.getElementById("file_Up")

    if (fileupload.value.length < 5) {

        alert('请选择文件!')

        return

    }

    var agent = window.navigator.userAgent

    if (agent.indexOf("Firefox") >= 1) {

        var maxsize = 4 * 1024 * 1024

        var size = fileupload.files[0].size

        if (size > parseInt(maxsize)) {

            alert("文件超过大小!")

            return false

        }

        else {

            btnsave.disabled = false

            return true

        }

 

    }

    else {

        fileupload.select()

        fileupload.blur()

        filepath = document.selection.createRange().text

        try {

            var fso, f, fname, fsize

            var flength = 4 * 1024 //设置上传的文件最大值(单位:kb),超过此值则不上传。 

            fso = new ActiveXObject("Scripting.FileSystemObject")

            f = fso.GetFile(filepath) //文件的物理路径

            fname = fso.GetFileName(filepath) //文件名(包括扩展名)

            fsize = f.Size //文件大小(bit)

            fsize = fsize / 1024

            //去掉注释,可以测试

            alert("文件路径:" + f)

            alert("文件名:" + fname)

            alert("文件大小:" + fsize + "kb")

            if (fsize > flength) {

                alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ")

                return false

            }

            else {

                btnsave.disabled = false 

                return true

            }

        } catch (e) {

            alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +

"你可以在浏览器菜单栏上依次选择\n" +

"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +

"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +

"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可")

            return false

        }

    }

 

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11658078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存