js 如何获取上传文件的大小

JavaScript020

js 如何获取上传文件的大小,第1张

HTML 中input标签有个类型是file。这个是可以上传文件使用的。你可以直接操作这个标签的size来获取文件的大小。

可通过下面的方式 

html代码: js代码:

var fileId = "uploadtest"

var dom = document.getElementById(fileId)  

var fileSize =  dom.files[0].size//文件的大小,单位为字节B

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)

      })

    })

  },

当然可以,假设网页上有这样一个图片

<img id="myimg" src="1.jpg">

使用如下  JS 代码获取图片宽高

var myimg = document.getElementById('myimg')

console.log(myimg.width + ' ' + myimg.height)

但是如果图用CSS设置过尺寸,比如图片原尺寸是 256px * 256px,然后用 CSS 设置为 64px * 64px 上面的代码获得的尺寸就是 64px * 64px 。如果想获得图片原尺寸的话,可以使用如下代码

var myimg = document.getElementById('myimg')

var newimg = document.createElement('img')

newimg.src = myimg.src

console.log(newimg.width + ' ' + newimg.height)//这里就是图片原始宽高了。