Saya ingin menguraikan formulir multi bagian dua kali: satu kali untuk mengambil bidang yang masuk, dan kemudian untuk memproses unggahan file.
Saya mencoba mempertahankan pemisahan kekhawatiran yang tepat dalam aplikasi Node saya:
- Pengendali bertanggung jawab untuk menangani bidang yang masuk.
- Model bertanggung jawab atas logika file unggahan.
Saya perlu meneruskan data bidang ke dalam model untuk membuat contoh baru, sehingga data bidang harus tersedia sebelum pengunggahan file dimulai.
Saat ini setiap form.parse()
atau fungsi yang setara menguraikan bidang dan file secara bersamaan . Contoh: req.pipe(busboy)
menangani file dan bidang secara bersamaan.
Saya telah memeriksa modul-modul seperti simpul-multipartai, tangguh, busboy, multer. Sepertinya tidak ada yang punya solusi untuk ini.
Contoh apa yang ingin saya capai ada di sini: /programming/22336177/node-js-busboy-parse-fields-and-files-seperatly
Apakah ini mungkin?
Jawaban:
Saya ingin menjawab pertanyaan ini:
Ketika saya melihat multipart rfc , saya melihat contoh ini:
Saya perhatikan bahwa header suka
Content-Type
terletak di antara bagian-bagian tubuh. Demikian saya simpulkan, Anda tidak bisa semua header sebelum semua badan.Sekarang untuk pertanyaan Anda:
Itu tergantung apa yang Anda maksud dengan "parsing". Ada beberapa penguraian yang terlibat saat membaca pesan HTTP untuk mengetahui kapan itu berakhir. Akhir memiliki tambahan
--
di akhir:Gagasan untuk parsing dua kali:
Ya, ada beberapa kasus yang memungkinkan (saat file adalah hal terakhir yang Anda unggah). Saya tidak tahu apakah mungkin secara universal apa yang Anda butuhkan karena saya tidak tahu persis apa yang ingin Anda lakukan.
Saya harap ini menjelaskan beberapa hal. Jika ini bukan jawaban yang lengkap atau Anda tidak suka ini, tolong beri tahu kami mengapa karena ini mungkin umpan balik berharga bagi orang lain yang mencoba menjawab pertanyaan.
sumber