StackOverflow的朋友您好!
我有一个txt文件,其中包含数百个指向图像的Web URL。图像全部为JPG格式。
我试图找出所有图像的尺寸,而不必经过检查每个图像上的元素。这将需要几个小时。我考虑过在javascript中创建某种循环,该循环逐行读取行,但我感到很困惑。我确实有一个代码可以告诉我图像尺寸,但是它不能批量执行操作。我必须每次替换图像的URL。
我将如何处理?如果我有一段代码(无语言偏好)可以逐行读取txt文件并在新文本文件中写入与读取的行相对应的图像尺寸,那将是理想的选择。
到目前为止,这是我的代码:https://codepen.io/th3pr099/pen/XGVoMp
function getMeta(url, callback) {
var img = new Image();
img.src = url;
img.onload = function() { callback(this.width, this.height); }
}
getMeta(
"https://www.w3schools.com/w3css/img_lights.jpg",
function(width, height) { alert("Width: " + width + 'px ' + "Height: "
+ height + 'px') }
);
非常感谢您的帮助!
答案 0 :(得分:0)
这是一个用JavaScript编写的想法(请注意,它使用了getMeta
函数。):
<!doctype html>
<html>
<body>
Below is the textarea element that will take in the contents of your text file:<br />
<textarea id="txtarea"></textarea>
<button id="btn">Get image dimensions</button><br/><br/><br/>
<script>
//Your `getMeta` function goes below (I found that it works great)
function getMeta(url, callback) {
var img = new Image();
img.src = url;
img.onload = function() { callback(this.width, this.height); }
}
//When the button (id of "btn") is pressed,
document.getElementById("btn").onclick=function() {
//Get the value of the textarea, then split it on newlines
var listOfLinks=document.getElementById("txtarea").value.split("\n");
//iterate through each line
for (var i=0;i<listOfLinks.length;i++) {
//run your `getMeta` function to get width and height
getMeta(listOfLinks[i],function(w,h) {
//Append data to body
document.body.innerHTML+="Image Dementions: ("+w+","+h+")<br />";
});
}
};
</script>
</body>
</html>