Semak saiz fail yang dimuat naik
P粉463291248
P粉463291248 2023-09-10 22:52:30
0
1
358

Saya mempunyai komponen pemuat naik fail dan perlu menambah pengesah saiz di dalamnya

Ini adalah kod untuk pengesah

export const filesDimensionValidator =
  (maxWidth: number, maxHeight: number): ValidatorFn =>
  (control: AbstractControl): ValidationErrors | null => {
    const value: IUploadFileControl = control.value;

    if (value == null) {
      return null;
    }

    for (const x of value.allFiles) {
      if (x.size > maxFileSize) {
        return { file_max_size: VALIDATION_LABEL_ATTACHMENT_MAX_SIZE };
      }
    }

    return null;
  };

Jika untuk gelung x 参数具有 File taip.

Hanya gambar di sini.

Bagaimana untuk mendapatkan lebar dan ketinggian imej dalam fail ini?

P粉463291248
P粉463291248

membalas semua(1)
P粉237647645

Buat imej menggunakan Image dan kemudian dapatkan dimensi yang diingini.

Anda boleh menggunakan file.type来验证xAdakah ia imej:

Cuba ini:

// add mime type check
if (x?.type.includes('image/')) {
  
  const url = URL.createObjectURL(x);
  const img = new Image();

  img.onload = function () {
    console.log(img.width, img.height);
    URL.revokeObjectURL(img.src);
  };

  img.src = url;

}

Edit

Dapatkan saiz serentak:

// pass file to the method and hold execution
console.log(await this.getDimensions(x));

// method that gets and return dimensions from a file
  getDimensions(x: File) : Promise<{width:number, height:number}> {
    return new Promise((resolve, reject) => {
      const url = URL.createObjectURL(x);
      const img = new Image();
      img.onload = () => {
        URL.revokeObjectURL(img.src);
        resolve({ width: img.width, height: img.height });
      };
      img.src = url;
    });
  }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!