Rumah hujung hadapan web uni-app Mari kita bincangkan tentang operasi muat naik dan pemadaman foto Uniapp

Mari kita bincangkan tentang operasi muat naik dan pemadaman foto Uniapp

Apr 18, 2023 pm 02:09 PM

Dalam beberapa tahun kebelakangan ini, Uniapp telah menjadi pilihan pertama untuk semakin ramai pembangun dalam bidang pembangunan aplikasi mudah alih. Uniapp ialah rangka kerja pembangunan baharu yang melaluinya pembangun boleh membangunkan aplikasi berbilang terminal, sekali gus meningkatkan kecekapan pembangunan jurutera. Artikel ini akan memberikan pengenalan dan penjelasan terperinci tentang operasi muat naik dan pemadaman foto Uniapp.

1. Pelaksanaan muat naik imej

Kamera dan pemilihan imej ialah salah satu fungsi biasa Uniapp menyediakan antara muka API yang kaya untuk membolehkan kamera, album foto, WeChat Moments, fail dalam talian, dll. Pelbagai cara untuk memilih dan memuat naik imej boleh dilakukan. Di bawah ini kami akan memperkenalkan secara terperinci bagaimana antara muka API Uniapp melaksanakan fungsi muat naik imej.

  1. Pilih gambar dan muat naiknya

Uniapp menyediakan komponen yang sangat mudah digunakan, uni-upload, yang boleh memuat naik fail secara tidak segerak Seterusnya, anda boleh memilih melalui fungsi muat naik imej.

Mula-mula tambahkan kod berikut pada halaman hujung hadapan:

<view>
   <uni-upload :upload-url="&#39;your_upload_url&#39;" :on-success="success" :on-fail="fail" @click="upload">
     <view class="button">上传图片</view>
   </uni-upload>
</view>
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan komponen uni-upload, dengan atribut upload-url ialah alamat URL bagi muat naik imej on-success dan on-fail masing-masing sepadan dengan fungsi panggil balik untuk kejayaan dan kegagalan muat naik. @clickAtributnya adalah untuk mencetuskan fungsi muat naik selepas mengklik.

Kemudian kita perlu mengkonfigurasi dua fungsi panggil balik success dan fail dalam contoh Vue:

methods: {
   success(res){
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res)
           },
           fail: (err) => {
            this.fail(err)
           }
         });
       }
     });
   }
}
Salin selepas log masuk

Dalam kod ini, kita tentukan dahulu success dan fail Dua fungsi panggil balik Apabila muat naik berjaya atau gagal, fungsi panggil balik yang sepadan akan dilaksanakan. Dalam fungsi upload, kami menggunakan kaedah uni.chooseImage untuk memilih imej, mendapatkan laluan fail sementara dan menggunakan kaedah uni.uploadFile untuk memuat naik fail ke pelayan. Atribut name mewakili nilai kunci yang sepadan dengan fail, iaitu nama parameter fail yang diterima pada pelayan.

Dengan cara ini, fungsi memilih gambar dan memuat naiknya dalam Uniapp direalisasikan.

  1. Muat naik imej dan dapatkan hasil pulangan

Dalam proses memuat naik imej, kita perlu mendapatkan hasil yang dikembalikan oleh bahagian belakang selepas muat naik berjaya, supaya kita boleh mendapatkan muat naik Alamat URL imej atau maklumat muat naik imej lain.

Dalam antara muka uni.uploadFile, kami menambah parameter dalam fungsi panggil balik kejayaan untuk menerima hasil yang dikembalikan oleh bahagian belakang selepas muat naik berjaya. Kod yang diubah suai adalah seperti berikut:

methods: {
   success(res){
     const data = res.data;
     console.log(data);
     console.log("上传成功");
   },
   fail(err){
     console.log("上传失败");
   },
   upload(){
     uni.chooseImage({
       sizeType: ['compressed'],
       sourceType: ['album', 'camera'],
       success: (res) => {
         const tempFilePaths = res.tempFilePaths;
         uni.uploadFile({
           url: this.uploadUrl,
           filePath: tempFilePaths[0],
           name: 'file',
           success: (res) => {
            this.success(res);
           },
           fail: (err) => {
            this.fail(err);
           }
         });
       }
     });
   }
}
Salin selepas log masuk

Dalam kod di atas, kami mencetak data yang dikembalikan oleh pelayan dalam success.

2. Pelaksanaan pemadaman gambar

Dalam aplikasi kami, kadangkala kami perlu memadamkan gambar yang dimuat naik, yang boleh menjimatkan ruang storan dan mencapai tujuan mengoptimumkan program Uniapp menyediakan banyak antara muka API untuk melaksanakan fungsi ini. Dua kaedah diberikan di bawah:

  1. Gunakan kaedah uni.removeSavedFile untuk memadam gambar

Kaedah ini ialah gambar yang digunakan dalam aplikasi dimuat turun atau diambil oleh aplikasi sendiri , gunakan uni.removeSavedFile untuk memadam foto daripada direktori aplikasi atau memori.

Tentukan dahulu kaedah padam:

methods:{
  deleteImage(index) {
    const filePath = this.uploadList[index].filePath;
    uni.removeSavedFile({
      filePath: filePath,
      success(res) {
        console.log(res)
      },
      fail(err) {
        console.log(err)
      }
    });
  }
}
Salin selepas log masuk

Gunakan kaedah padam dalam komponen:

<view v-for="(item,index) in uploadList" :key="index">
    <image :src="item.filePath" mode="aspectFit" style="width:50px;height:50px"></image>
    <view v-on:click="deleteImage(index)">删除</view>
</view>
Salin selepas log masuk

Dalam kod ini, kami menggunakan v-for pada senarai arahan komponen untuk mendapatkan maklumat gambar yang akan dipadam secara bergilir, dan kaedah deleteImage digunakan untuk memadam fail yang sepadan.

  1. Hantar permintaan pemadaman ke pelayan

Dalam aplikasi kami, jika anda menggunakan imej pada pelayan, anda boleh memadamkannya dengan menghantar permintaan pemadaman ke gambar pelayan . Perbezaan antara kaedah ini dan menggunakan kaedah uni.removeSavedFile ialah kita perlu menghantar permintaan kepada pelayan dan memadamkan imej di latar belakang.

Tentukan kaedah pemadaman:

methods:{
  deleteImage(index) {
    const url = 'your_delete_url';
    const fileID = this.uploadList[index].url;
    uni.request({
      url: url,
      method: 'DELETE',
      data:{
        fileID:fileID,
        key:'value'  // 可以添加其他参数
      },
      success: (res) => {
        console.log(res);
      },
      fail: (err) => {
        console.log(err);
      }
    });
  }
}
Salin selepas log masuk

Dengan cara ini, kami menghantar permintaan pemadaman kepada pelayan Selepas bahagian belakang menerima permintaan ini, data yang sepadan dalam pelayan boleh dipadamkan. .

3. Ringkasan

Di atas ialah dua cara untuk melaksanakan fungsi muat naik dan memadam imej dalam Uniapp. Dalam aplikasi praktikal, kita boleh memilih mengikut keperluan sebenar untuk mencapai fungsi muat naik dan memadam imej yang sempurna dalam program. Pada masa yang sama, kami juga boleh menggunakan kaedah prestasi yang lebih baik semasa digunakan untuk mencapai prestasi program yang lebih baik.

Atas ialah kandungan terperinci Mari kita bincangkan tentang operasi muat naik dan pemadaman foto Uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Mar 27, 2025 pm 04:47 PM

Lazy Loading Delers Non-kritikal Sumber untuk meningkatkan prestasi tapak, mengurangkan masa beban dan penggunaan data. Amalan utama termasuk mengutamakan kandungan kritikal dan menggunakan API yang cekap.

Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Mar 27, 2025 pm 04:50 PM

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.

Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Mar 25, 2025 pm 02:31 PM

Artikel ini membincangkan menguruskan struktur data yang kompleks di UNIPP, yang memberi tumpuan kepada corak seperti Singleton, Observer, Kilang, dan Negeri, dan strategi untuk mengendalikan perubahan keadaan data menggunakan API VUEX dan VUE 3 API.

Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Mar 25, 2025 pm 02:23 PM

Ciri -ciri yang dikira oleh Uniapp, yang diperolehi dari Vue.js, meningkatkan pembangunan dengan menyediakan pengendalian data reaktif, boleh diguna semula, dan dioptimumkan. Mereka mengemas kini secara automatik apabila kebergantungan berubah, menawarkan manfaat prestasi dan memudahkan Co -Management Co

Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Mar 25, 2025 pm 02:20 PM

UNIPP menguruskan konfigurasi global melalui manifest.json dan gaya melalui app.vue atau app.scss, menggunakan uni.scss untuk pembolehubah dan campuran. Amalan terbaik termasuk menggunakan SCSS, gaya modular, dan reka bentuk responsif.

See all articles