本文介绍了如果 src 是 base64 字符串,如何获取新创建的 Image() 的文件大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
How can I get the size of the newly created new Image()
in bytes if this image's src
is base64
data image?
I have such coffeescript code:
# This string is received after some original image preprocessing
base64String = "data:image/jpeg;base64......"
newImageObj = new Image()
newImageObj.src = base64String
newImageObj.onload = ->
console.log "Resized image width is " + this.width
console.log "New file size in bytes is " + newImageObj.fileSize
The output is always like this:
Resized image width is 500
New file size in bytes is undefined
This newImageObj.fileSize
is always undefined
.
解决方案
here is the algorithm to find file size from base64 string:
base64String = "data:image/jpeg;base64......";
var stringLength = base64String.length - 'data:image/png;base64,'.length;
var sizeInBytes = 4 * Math.ceil((stringLength / 3))*0.5624896334383812;
var sizeInKb=sizeInBytes/1000;
这篇关于如果 src 是 base64 字符串,如何获取新创建的 Image() 的文件大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!