Dalam uniapp, kami sering menggunakan fungsi memuat naik imej, tetapi secara lalai, nama fail imej yang dimuat naik akan dinamakan semula atau platform yang berbeza akan mempunyai prestasi yang berbeza, yang akan menjejaskan pemprosesan bahagian belakang dan paparan bahagian hadapan. . Menyebabkan masalah. Oleh itu, semasa pembangunan, kita selalunya perlu mengekalkan nama imej yang dimuat naik tidak berubah.
Artikel ini akan memperkenalkan cara mengekalkan nama imej yang dimuat naik tidak berubah dalam uniapp.
1. Pengenalan
Dalam uniapp, muat naik imej terutamanya menggunakan antara muka API uni.uploadFile(). Melalui antara muka ini, kita boleh memuat naik imej ke pelayan. Walau bagaimanapun, uni.uploadFile() akan menamakan fail imej mengikut platform yang berbeza atau peraturan penamaan fail khas, menyebabkan kami tidak dapat mengendalikan imej yang dimuat naik dengan baik. Jadi, bagaimana untuk mengekalkan nama imej yang dimuat naik tidak berubah apabila menggunakan uni.uploadFile()?
2 Dapatkan maklumat asal imej yang dimuat naik
Apabila kami memilih imej melalui antara muka API uni.chooseImage(), kami boleh mendapatkan maklumat asal imej dan mendapatkan fail tersebut. nama dan akhiran.
uni.chooseImage({ count: 1, success: function(res) { uni.getImageInfo({ src: res.tempFilePaths[0], success: function(infoRes) { //文件名 var fileName = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('/') + 1); //后缀名 var extName = fileName.substring(fileName.lastIndexOf('.')); } }); } });
3. Gunakan objek formData untuk memuat naik imej
Sebelum kami menggunakan antara muka uni.uploadFile() untuk memuat naik imej Walau bagaimanapun, parameter fail antara muka ini hanya boleh menerima laluan fail, bukan objek FormData. Dalam this.formData, kita boleh mencipta objek FormData dan memuat naik nama fail imej yang dimuat naik bersama-sama dengan data fail.
uni.chooseImage({ count: 1, success: function(res) { uni.getImageInfo({ src: res.tempFilePaths[0], success: function(infoRes) { //文件名 var fileName = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('/') + 1); //后缀名 var extName = fileName.substring(fileName.lastIndexOf('.')); // 将文件数据赋值到formData对象中 this.formData = new FormData(); this.formData.append('file', res.tempFiles[0].path, fileName + extName); console.log('开始上传文件') uni.uploadFile({ url: '上传文件的url', filePath: res.tempFilePaths[0], name: 'file', formData: this.formData, success: function (res) { console.log(res); } }); } }); } });
Melalui kaedah di atas, kita boleh mengekalkan nama imej yang dimuat naik tidak berubah.
4. Ringkasan
Apabila memuat naik imej dalam uniapp, kami boleh mendapatkan nama fail dan akhiran dengan mendapatkan maklumat asal imej, dan kemudian memuat naik nama fail dan data bersama-sama. Ini boleh menyelesaikan masalah yang disebabkan oleh platform yang berbeza atau peraturan penamaan khas, dan boleh mengendalikan imej yang dimuat naik dengan lebih baik.
Atas ialah kandungan terperinci Nama imej yang dimuat naik oleh uniapp kekal tidak berubah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!