Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghantar Fail ke Pelayan Menggunakan JavaScript?

Bagaimana untuk Menghantar Fail ke Pelayan Menggunakan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 07:51:02421semak imbas

How to Transmit Files to a Server Using JavaScript?

Muat Naik Fail dengan JavaScript

Apabila halaman web membenarkan pengguna memilih fail menggunakan elemen input fail, nama fail yang dipilih boleh diambil daripada document.getElementById("image-file").value. Tetapi bagaimana anda menghantar fail ini ke pelayan?

Untuk muat naik fail, JavaScript menawarkan beberapa pendekatan. Satu pilihan ialah menggunakan API Ambil:

JS Tulen (Ambil)

let photo = document.getElementById("image-file").files[0];
let formData = new FormData();
     
formData.append("photo", photo);
fetch('/upload/image', {method: "POST", body: formData});

Pendekatan ini mencipta objek formData, menambahkan fail yang dipilih padanya dan menggunakan Ambil untuk menghantar formData ke URL yang ditentukan.

Pemberitahuan Status Muat Naik Fail

Untuk mendengar pelengkapan muat naik fail, anda boleh menggunakan objek XMLHttpRequest untuk mencipta objek FormData dan tetapkan pendengar acara onreadystatechangenya. Apabila muat naik fail selesai, sifat readyState acara ialah 4.

// Register file input
const fileInput = document.getElementById('image-file');

// Add event listener for onreadystatechange
fileInput.addEventListener('change', (e) => {
  const files = e.target.files;
  
  if (files.length > 0) {
    // Create a FormData object
    const formData = new FormData();
    
    // Append selected files to FormData object
    for (const file of files) {
      formData.append('files', file);
    }

    // Create an XMLHttpRequest object
    const xhr = new XMLHttpRequest();

    // Open a POST request to the server
    xhr.open('POST', '/upload/image');

    // Set the onreadystatechange event listener
    xhr.onreadystatechange = () => {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          // File upload completed successfully
          console.log('File uploaded successfully!');
        } else {
          // File upload failed
          console.error('File upload failed!');
        }
      }
    };

    // Send the FormData object
    xhr.send(formData);
  }
});

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Fail ke Pelayan Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn