<form>
<input name="xxxx" type="text">
<input name="images" type="file" multiple="multiple" >
</form>
Oleh kerana terdapat berbilang gambar dalam borang kedua, bagaimana untuk menyerahkan data kedua-dua borang di atas bersama-sama apabila menggunakan kaedah pos ajax untuk menghantar borang?
Gunakan formData
Tanya bahagian belakang! Secara amnya, kunci yang dikembalikan dengan memuat naik imej diberikan kepada bahagian belakang, dan borang ditakrifkan oleh bahagian belakang.
Gunakan html5 untuk menukar imej kepada BASE64, dan kemudian mengembalikannya ke latar belakang melalui ajax Latar belakang menukar format imej kepada pelayan melalui base64 dan menyimpannya dalam pelayan.
Anda boleh rujuk bahan pengajaran ini
http://www.zhangxinxu.com/wor...
Apabila memuat naik imej, pengekodan base64 ialah penyelesaian yang betul.
Di atas adalah semua idea, saya menyediakan kaedah yang lebih mudah, menggunakan ajaxsubmit, plug-in
Jangan tukar kepada base64, ia akan meningkat sebanyak 1/3. Penyemak imbas yang menyokong lukisan imej dalam input pada kanvas dan kemudian mengambil base64 mesti sudah menyokong xhr2.0 atau fetch API.
Buat objek formdata, tetapkan nilai pada objek dan serahkan objek formdata sebagai data ajax
.Adalah disyorkan untuk melihat ini
http://www.ruanyifeng.com/blo...
Memuat naik fail secara amnya memerlukan sama ada penyerahan borang langsung (tetapi keseluruhan halaman akan dimuat semula, dan muat semula separa boleh dicapai dengan membenamkannya ke dalam iframe), yang akan dihuraikan oleh bahagian belakang itu sendiri atau memuat naik mengikut format standard w3c. Secara amnya, pemalam juga menggunakan dua kaedah ini