JavaScript:从加载它的DOM元素获取图像的文件大小

时间:2018-01-30 03:47:49

标签: javascript jquery

我有一组坐在云端桶中的图像(AWS S3),并且必须编写一个脚本,列出每个图像的文件大小。由于不值得深入研究的原因,我想使用在我的本地机器上运行的JavaScript来实现这一目标。 AJAX似乎是一个显而易见的解决方案,但我的浏览器都不允许我跨域进行此类调用。

我现在想知道的是,我是否可以通过将这些图像加载到img元素中并使用JavaScript来激发每个元素来查找此信息。这是否可能,是否有其他我不知道的解决方案,或者我只是不得不使用不同的脚本语言来完成工作?

这是我正在思考的一个粗略的例子:

const imageFileNames = [ 'file1.jpg', 'file2.jpg', 'file3.jpg' ];
const imagePath = 'https://s3-us-west-1.amazonaws.com/example-bucket/';

// for each image..
imageFileNames.forEach(function ( fileName ) {

    // create a new image element
    let newImageElement = $('<img src="'+imagePath +fileName+'" />');

    // get data about image after it is finished loading
    newImageElement.one("load", function (e) {

        // I am able to get the height and width here, but need file-size as well
        console.log( e.target.height, e.target.width );
    })

    // not sure if adding this element to the document is necessary
    $('#frame-images').append(newImageElement);
});

0 个答案:

没有答案