JS获取file 分辨率
时间: 2024-12-05 16:20:01 浏览: 13
在JavaScript中,直接获取文件的分辨率(如图片的像素大小)通常是不可能的,因为浏览器的安全策略限制了对文件内容的直接访问,特别是对于本地文件。但是,如果你的文件是一个已经加载到网页上的图片,并且这个图片来自网络而不是用户的本地文件系统,你可以通过HTML5的File API或者`canvas`元素来间接获取图片的尺寸。
例如,如果你有一个`<img>`元素并已设置了src属性:
```javascript
var img = document.getElementById('myImage');
var resolution = {
width: img.naturalWidth,
height: img.naturalHeight
};
```
这里的`naturalWidth`和`naturalHeight`分别代表图片的原始宽度和高度。对于`File`对象,你需要先读取成`Blob`,然后创建一个新的`URL`对象加载它,再使用`canvas`来获取尺寸:
```javascript
fetch(file)
.then(response => response.blob())
.then(blob => URL.createObjectURL(blob))
.then(url => {
var canvas = document.createElement('canvas');
canvas.width = 1;
canvas.height = 1;
canvas.getContext('2d').drawImage(new Image(), 0, 0);
canvas.onload = function() {
var resolution = {width: canvas.width, height: canvas.height};
};
canvas.src = url;
});
```
注意,这种方法只能得到预览尺寸,而非实际打印或屏幕显示的实际分辨率。
阅读全文