我有一组坐在云端桶中的图像(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);
});