ค้นหาเว็บไซต์

typescript - ประเภทเหตุการณ์การป้อนข้อมูลไฟล์ใน Angular


ดังนั้นฉันจึงใช้ Angular และ Typescript มานานแล้ว แต่ฉันดูเหมือนจะไม่สามารถหาว่า Type ของไฟล์ Input คืออะไร

ตัวอย่างเช่น:

<input type="file" (change)="fileChangeEvent($event)">

fileChangeEvent(e:?????){}

ตัวอย่างทั้งหมดใช้เพียง event โดยไม่มีประเภทใด ๆ และฉันอยากรู้ว่าประเภทแบบนั้นมีจริงหรือไม่

คำตอบ #1

สำหรับโหมด strict-type ของ Angular 10 เราจำเป็นต้องระบุชนิดข้อมูลในพารามิเตอร์ คุณสามารถทำตามวิธีนี้เพื่อดึงไฟล์ลิสต์จากอีเวนต์การป้อนไฟล์

// HTML
<input type="file" (change)="uploadFile($event)">

// TS
uploadFile(event: Event) {
    const element = event.currentTarget as HTMLInputElement;
    let fileList: FileList | null = element.files;
    if (fileList) {
      console.log("FileUpload -> files", fileList);
    }
}

หวังว่าสิ่งนี้จะช่วยได้ กรุณาแบ่งปันความคิดเห็นของคุณ

คำตอบ #2

แองกูลาร์ 10 และสูงกว่า:

component.html

    <input type="file" (change)="upload($event)">

component.ts

  upload(event: Event) {
      const target = event.target as HTMLInputElement;
      const files = target.files as FileList;
      console.log(files);
  }

คำตอบ #3

ใช้ไฟล์

อินเทอร์เฟซไฟล์ให้ข้อมูลเกี่ยวกับไฟล์และอนุญาตให้ JavaScript ในหน้าเว็บเข้าถึงเนื้อหาของไฟล์เหล่านั้นได้

ลองอันนี้

component.html

<input type="file" (change)="fileChangeEvent($event.target.files)">

component.ts

fileChangeEvent(e: File[]){
    fileName = e[0];
    fileType = fileName.type;
}

บทความที่เกี่ยวข้อง