我正在尝试在Aurelia / Typescript中上传之前检查图像的大小和扩展名。 为此:我有两个课程: 即 logo-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;
}
和我的logo-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;
}
}
}
但是问题在于,在主类中,
logo.ts
,我无法获取我上传的图像的扩展名和大小,该图像可以通过aurelia的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
总是给出错误。
我不想使用任何外部软件包/依赖项。