


Cara membina borang muat naik fail dengan ekspres dan dropzonejs
Feb 10, 2025 am 09:42 AMdropzone.js: alat yang berkuasa untuk meningkatkan borang muat naik fail
Borang muat naik fail sering menyusahkan: Pemaju tidak mahu membina, pereka tidak mahu mencantikkan, dan pengguna tidak mahu mengisi. Perkara yang paling mengecewakan ialah kawalan fail itu sendiri - gaya sukar untuk disesuaikan, penggunaannya canggung, dan memuat naik fail juga boleh melambatkan penyerahan borang.
Plug-in dropZone.js muncul, yang dapat meningkatkan penampilan dan pengalaman pengguna kawalan muat naik fail dan memuat naik fail di latar belakang melalui Ajax, sekurang-kurangnya membuat proses muat naik kelihatan lebih cepat. Di samping itu, ia boleh mengesahkan fail sebelum mereka tiba di pelayan, memberikan pengguna maklum balas yang hampir-hampir.
Artikel ini akan menyelam ke dropzone.js, menunjukkan cara melaksanakannya, dan bagaimana untuk menyesuaikan dan menyesuaikannya. Kami juga akan melaksanakan mekanisme muat naik sisi pelayan yang mudah menggunakan node.js.
Kod telah dimuat naik ke repositori GitHub.
mata utama
- dropZone.js meningkatkan borang muat naik fail di Express dengan membolehkan seret dan drop, menyediakan pengesahan fail segera, dan meningkatkan estetika antara muka pengguna.
- Untuk menubuhkan dropZone.js, masukkan fail JavaScript dan CSS di HTML, dan anda boleh memilih untuk menyesuaikan dengan gaya minimum atau lanjutan.
- Konfigurasi asas memerlukan menetapkan URL sasaran untuk muat naik, serta pilihan lain untuk kaedah HTTP, parameter fail dan bar kemajuan, imej kecil dan elemen UI yang lain.
- Ciri -ciri lanjutan termasuk menetapkan saiz fail maksimum, mengehadkan jenis fail, dan thumbnails tersuai dan mesej ralat.
- DropZone.js menyokong pemprosesan acara untuk memuat naik, menambahkan atau memadam fail yang berjaya, dan menghasilkan lakaran kecil, yang membolehkan penyesuaian selanjutnya berdasarkan peristiwa -peristiwa ini.
- Multer middleware boleh digunakan untuk mengendalikan muat naik fail untuk mencapai integrasi sisi pelayan dengan node.js dan ekspres, dan pengendalian ralat tambahan dan tetapan tindak balas ditambah untuk memastikan keserasian dengan dropZone.js.
Pengenalan kepada dropzone.js
dropZone.js membolehkan pengguna memuat naik fail menggunakan seret dan drop. Walaupun faedah kebolehgunaannya boleh dikatakan dengan munasabah, ini adalah pendekatan yang semakin biasa dan konsisten dengan cara ramai orang menggunakan fail desktop. Ia juga disokong dengan baik dalam pelayar utama.
Anda boleh menggunakan dropzone.js untuk sebarang jenis fail, walaupun kesan kecil kecil yang indah menjadikannya sangat sesuai untuk memuat naik imej.
Ciri -ciri
Beberapa ciri dan ciri dropzone.js diringkaskan seperti berikut:
- boleh digunakan dengan atau tanpa jQuery
- Sokongan seret dan drop
- Menjana imej kecil
- menyokong pelbagai muat naik, anda boleh memilih untuk memuat naik selari
- Termasuk bar kemajuan
- penuh tema mesra
- Termasuk sokongan pengesahan fail extensible
- boleh digunakan sebagai modul AMD atau modul memerlukan
- saiznya adalah kira -kira 43kb selepas pengurangan, dan kira -kira 13kb selepas mampatan gzip
Sokongan penyemak imbas
Menurut dokumentasi rasmi, penyemak imbas menyokong yang berikut:
- Chrome 7
- Firefox 4
- iaitu 10
- Opera 12 (MACOS Versi 12 dilumpuhkan kerana API yang cacat)
- Safari 6
Tetapan
Cara paling mudah untuk menggunakan dropzone.js adalah untuk memasukkan versi terkini dari CDN. Pada masa menulis ini, ini adalah versi 5.5.1.
Sebagai alternatif, anda boleh memuat turun versi terkini dari halaman GitLab Projek. Terdapat juga pakej pihak ketiga yang memberikan sokongan untuk ReactJs.
Kemudian, pastikan anda memasukkan fail JavaScript utama dan gaya CSS di halaman. Contohnya:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>File Upload Example</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/min/dropzone.min.css"> </head> <body> <??> </body> </html>Perhatikan bahawa projek ini menyediakan dua fail CSS -fail asas.css dengan beberapa gaya minimum, dan fail dropzone.css yang lebih luas. Minimum versi dropzone.css dan dropzone.js juga disediakan.
(Kandungan berikutnya adalah serupa dengan teks asal, tetapi struktur kata-kata dan perenggan akan diselaraskan untuk mencapai kesan pseudo-asal dan mengekalkan kedudukan imej tidak berubah. ditinggalkan di sini.)
Atas ialah kandungan terperinci Cara membina borang muat naik fail dengan ekspres dan dropzonejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Jika aplikasi JavaScript memuat perlahan -lahan dan mempunyai prestasi yang buruk, masalahnya adalah bahawa muatan terlalu besar. Penyelesaian termasuk: 1. Penggunaan kod pemisahan (codesplitting), memecah bundle besar ke dalam pelbagai fail kecil melalui react.lazy () atau membina alat, dan memuatkannya seperti yang diperlukan untuk mengurangkan muat turun pertama; 2. Keluarkan kod yang tidak digunakan (treeshaking), gunakan mekanisme modul ES6 untuk membersihkan "kod mati" untuk memastikan perpustakaan yang diperkenalkan menyokong ciri ini; 3. Memampatkan dan menggabungkan fail sumber, membolehkan GZIP/Brotli dan Terser memampatkan JS, menggabungkan fail dan mengoptimumkan sumber statik; 4. Gantikan kebergantungan tugas berat dan pilih perpustakaan ringan seperti hari.js dan ambil
