Я пытаюсь проверить размер и расширение изображения перед загрузкой в Aurelia / Typescript. Для этого: у меня есть два класса: т.е. lo go -extension.ts
export class LogoExtension {
private logoExtension: string;
constructor(logoExtension) {
if (!(/(.png|.jpg|.jpeg)$/.test(logoExtension))) {
throw "logo is in invalid format";
}
this.logoExtension = logoExtension;
}
и мой lo go -size.ts:
export class LogoSize {
private logoSize: number;
private maximumLogoSize: number = 25000000;
constructor(logoSize) {
if (logoSize === undefined) {
logoSize = "";
}
if (logoSize > this.maximumLogoSize) {
throw "logo size should be less than 25MB"
} else {
this.logoSize = logoSize;
}
}
}
, но проблема в том, что в основном классе
lo go .ts
я не могу получить расширение и размер загружаемого изображения, к которому обращается файл files.bind аурелии. Я использовал следующее:
getExtension(filename) {
var parts = filename.split('.');
return parts[parts.length - 1]
}
getSize(logo) {
let inputFile = document.getElementById("file");
return inputFile[0].size;
}
также
var x = document.getElementById('input'); // get the file input element in your form
var f = x.files.item(0);
files
во второй строке всегда выдает ошибку. Я не хочу использовать какой-либо внешний пакет / зависимость.