javascript - 验证图像尺寸 - Angular 6
问题描述
我正在尝试验证上传图像的宽度或高度不能超过 1024 像素。这就是我所做的,但由于某种原因它每次都不起作用:
readThumbUrl(event: any) {
this.thumbnailFile = [];
const eventObj: MSInputMethodContext = <MSInputMethodContext> event;
const target: HTMLInputElement = <HTMLInputElement> eventObj.target;
const files: FileList = target.files;
if (files) {
this.thumbnailFile.push(files[0]);
}
var image;
if (event.target.files && event.target.files[0]) {
let reader = new FileReader();
reader.onload = (event: ProgressEvent) => {
this.thumbUrl = (<FileReader>event.target).result;
// This part is for validation
image = new Image();
image.src = (<FileReader>event.target).result;
// Here, sometimes it takes width 0 and sometimes it takes image width,
// dont know for what reason.
if (image.width > 1024 || image.height > 1024) {
this.dimensionError = true;
}
};
reader.readAsDataURL(event.target.files[0]);
}
this.videoModel.thumbnail = event.target.value;
}
所以验证有时会触发,有时不会,有更好的方法吗?
解决方案
推荐阅读
- php - 当我在 curl 中传递用户名和密码时找不到 jwt 令牌
- xamarin.forms - Xamarin Forms CarouselView 从 itemsources 中的 viewmodel 绑定
- angular-material - 关注 ng-template 中的元素
- java - 如何在 Spring 中运行 Cron 作业
- javascript - 如何解析换行符分隔的 JSON
- visual-studio-code - 在 vscode 扩展 mssql 中按模式对表进行分组
- c++ - 在什么情况下 ref_view{E} 格式错误而 subrange{E} 不是?
- email - 访问 Word 邮件合并
- asp.net-core - Bot Framework - 有时响应是 BadGateway 但消息已发送到聊天组
- mqtt - 深度睡眠后 ESP32 未收到 MQTT 消息