Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyimpan gambar secara setempat dalam uniapp

Bagaimana untuk menyimpan gambar secara setempat dalam uniapp

PHPz
PHPzasal
2023-04-20 15:05:217222semak imbas

Dengan pembangunan Internet mudah alih dan aplikasi mudah alih, ia telah digunakan secara meluas untuk pengguna menyimpan dan mengurus sejumlah besar gambar semasa penggunaan aplikasi. Uniapp ialah rangka kerja merentas platform yang dibangunkan berdasarkan Vue.js, yang boleh membangunkan program kecil, H5, App dan aplikasi lain dengan mudah. Semasa proses pembangunan, kadangkala perlu menyimpan gambar yang diperoleh secara tempatan untuk panggilan pantas pada masa akan datang. Mari kita lihat bagaimana Uniapp menyimpan gambar secara tempatan.

1. Dapatkan imej
Semasa proses pembangunan, kita perlu menggunakan imej Kita boleh mendapatkan sumber imej melalui uni.request atau uni.downloadFile.

  1. uni.request
    uni.request ialah kaedah biasa untuk membuat permintaan rangkaian dalam Uniapp Kami boleh mendapatkan sumber imej dengan menetapkan atribut responseType. Kod khusus adalah seperti berikut:
uni.request({
  url: 'http://www.example.com/resource/1.jpg',
  responseType: 'arraybuffer',
  success: (res) => {
    uni.saveFile({
      tempFilePath: res.tempFilePath,
      success: (saveRes) => {
        console.log(saveRes);
      }
    });
  }
});

Antaranya, url ialah pautan kepada imej, dan responseType ialah 'arraybuffer', yang bermaksud untuk mendapatkan sumber imej dalam bentuk binari. Selepas pemerolehan berjaya, ia disimpan ke tempFilePath, dan akhirnya melalui uni .saveFile untuk menyimpan imej secara setempat.

  1. uni.downloadFile
    uni.downloadFile ialah kaedah biasa untuk memuat turun fail dalam Uniapp Kami boleh mendapatkan sumber imej dengan menetapkan atribut url. Kod khusus adalah seperti berikut:
uni.downloadFile({
  url: 'http://www.example.com/resource/1.jpg',
  success: (res) => {
    uni.saveFile({
      tempFilePath: res.tempFilePath,
      success: (saveRes) => {
        console.log(saveRes);
      }
    });
  }
});

Antaranya, url adalah pautan imej Selepas pemerolehan berjaya, ia akan disimpan ke tempFilePath, dan akhirnya imej akan disimpan secara setempat. melalui uni.savefile.

2. Simpan imej
Kami telah memperoleh sumber imej, dan kini kami perlu menyimpannya secara setempat. Fail boleh disimpan secara setempat melalui uni.saveFile, tetapi laluan simpan adalah berbeza untuk setiap platform Uniapp merangkum kaedah getFileSystemManager untuk mendapatkan laluan storan tempatan platform semasa.

Kod khusus adalah seperti berikut:

uni.getFileSystemManager().access({
  path: '/storage/emulated/0/uniapp_demo/',
  success: () => {
    uni.saveFile({
      tempFilePath: res.tempFilePath,
      filePath: '/storage/emulated/0/uniapp_demo/1.jpg',
      success: (res) => {
        console.log('保存成功');
      }
    });
  },
  fail: () => {
    uni.getFileSystemManager().mkdir({
      dirPath: '/storage/emulated/0/uniapp_demo/',
      success: () => {
        uni.saveFile({
          tempFilePath: res.tempFilePath,
          filePath: '/storage/emulated/0/uniapp_demo/1.jpg',
          success: (res) => {
            console.log('保存成功');
          }
        });
      }
    });
  }
});

Antaranya, laluan ialah laluan storan setempat digunakan untuk menentukan sama ada direktori itu wujud digunakan untuk mencipta direktori Akhirnya, uni.saveFile digunakan untuk menyimpan direktori.

3. Kesimpulan
Di atas adalah cara untuk menyimpan gambar secara setempat dalam Uniapp Pembangun boleh menyesuaikannya mengikut keperluan mereka sendiri. Jika anda menghadapi masalah semasa penggunaan, anda boleh menyelesaikannya melalui dokumentasi tapak web rasmi Uniapp atau siaran dalam komuniti. Semoga artikel ini dapat membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk menyimpan gambar secara setempat dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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