gpt4 book ai didi

angular - 在 Angular 7 中验证图像尺寸

转载 作者:行者123 更新时间:2023-12-05 08:40:12 24 4
gpt4 key购买 nike

这个问题在 JQueryJavaScript 上有很多答案。还有一些版本的 Angular

我尝试了很多解决方案,但没有一个可行。

我正在使用 Angular 7 并尝试验证用户上传图片的 WidthHeight

这是我的 .html 代码片段:

<input type="file" name="upload" id="androidPhoneFile" class="upload-box" placeholder="Upload File" multiple="multiple" (change)="onAndroidPhoneChange($event)" formControlName="androidPhone" #androidPhonePhoto>

这是我的 .ts 组件文件:

AddFilesToFormData(event: any, fileName: string) {
const reader = new FileReader();
const img = new Image();
img.onload = function() {
const height = img.height;
const width = img.width;
console.log('Width and Height', width, height);
};

img.src = event.target.files[0];
if (event.target.files && event.target.files.length) {
const [file] = event.target.files;
reader.readAsDataURL(file);
reader.onload = () => {
for (let i = 0; i < event.target.files.length; i++) {
this.formData.append(fileName, event.target.files[i]);
this.numberOfPhotos++;
}
};
}}

最佳答案

尝试这样的事情:


AddFilesToFormData(event: any, fileName: string) {
if (event.target.files && event.target.files.length) {
for (const file of event.target.files) {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
const img = new Image();
img.src = reader.result as string;
img.onload = () => {
const height = img.naturalHeight;
const width = img.naturalWidth;
console.log('Width and Height', width, height);
};
};
}
}
}

关于 for:我建议您将其更改为类似的东西:

    for (const image of event.target.files) {
this.formData.append(fileName, image);
this.numberOfPhotos++;
}

更清晰。

关于angular - 在 Angular 7 中验证图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56558319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com