Artikel ini menyediakan panduan komprehensif untuk memasukkan data binari ke dalam IndexedDB dengan cekap. Ia menggariskan arahan langkah demi langkah untuk menukar data binari kepada penimbal tatasusunan, mencipta stor objek, urus niaga dan objek, menetapkan objek
IndexedDB ialah API storan data yang berkuasa yang boleh digunakan untuk menyimpan pelbagai jenis data, termasuk data binari. Untuk memasukkan data binari ke dalam IndexedDB dengan cekap, ikuti langkah berikut:
1. Tukar data perduaan anda kepada penimbal tatasusunan: IndexedDB berfungsi dengan objek ArrayBuffer, jadi anda perlu menukar data binari anda kepada penimbal tatasusunan terlebih dahulu. Anda boleh menggunakan kaedah ArrayBuffer.from()
untuk tujuan ini.ArrayBuffer.from()
method for this purpose.
2. Create a new IndexedDB object store: An object store is a container for data in IndexedDB. You need to create a new object store to store your binary data.
3. Create a new IndexedDB transaction: A transaction is a unit of work in IndexedDB. You need to create a new transaction to insert your binary data.
4. Create a new IndexedDB object: An object is a representation of a record in IndexedDB. You need to create a new object to store your binary data.
5. Set the value of the object to the array buffer: The value of an object can be set to an array buffer. Set the value of your object to the array buffer that you created in step 1.
6. Add the object to the object store: Add the object to the object store that you created in step 2.
7. Commit the transaction: Once you have added the object to the object store, you need to commit the transaction to save the changes.
Example:
<code class="js">// Create an array buffer from binary data const buffer = ArrayBuffer.from(binaryData); // Create a new object store const store = db.createObjectStore("myBinaryData", { keyPath: "id", autoIncrement: true }); // Create a transaction const transaction = db.transaction(["myBinaryData"], "readwrite"); // Create a new object const object = transaction.objectStore("myBinaryData").create({}); // Set the value of the object to the array buffer object.value = buffer; // Add the object to the object store transaction.objectStore("myBinaryData").add(object); // Commit the transaction transaction.commit();</code>
Yes, you can use IndexedDB to store images as binary objects. To store an image as a binary object in IndexedDB, follow these steps:
1. Read the image file as an array buffer: Use the FileReader
2. Cipta stor objek IndexedDB baharu: Stor objek ialah bekas untuk data dalam IndexedDB. Anda perlu mencipta stor objek baharu untuk menyimpan data binari anda.
3. Buat transaksi IndexedDB baharu: Transaksi ialah unit kerja dalam IndexedDB. Anda perlu membuat transaksi baharu untuk memasukkan data binari anda.
5. Tetapkan nilai objek kepada penimbal tatasusunan:
Nilai objek boleh ditetapkan kepada penimbal tatasusunan. Tetapkan nilai objek anda kepada penimbal tatasusunan yang anda buat dalam langkah 1.6. Tambahkan objek pada stor objek:
Tambahkan objek pada stor objek yang anda buat dalam langkah 2.7. Lakukan transaksi:
Sebaik sahaja anda telah menambah objek pada stor objek, anda perlu melakukan transaksi untuk menyimpan perubahan.Contoh:
🎜rrreee🎜Bolehkah saya menggunakan IndexedDB untuk menyimpan imej sebagai objek binari?🎜🎜🎜 Ya, anda boleh menggunakan IndexedDB untuk menyimpan imej sebagai objek binari.🎜 Untuk menyimpan imej sebagai objek binari dalam IndexedDB, ikut langkah berikut:🎜🎜🎜1. Baca fail imej sebagai penimbal tatasusunan:🎜 Gunakan APIFileReader
untuk membaca fail imej sebagai penimbal tatasusunan.🎜🎜🎜2. Tukar penimbal tatasusunan kepada rentetan base64:🎜 IndexedDB tidak menyokong menyimpan penimbal tatasusunan secara langsung. Anda perlu menukar penimbal tatasusunan kepada rentetan base64 sebelum menyimpannya dalam IndexedDB.🎜🎜🎜3. Masukkan rentetan base64 ke dalam IndexedDB:🎜 Masukkan rentetan base64 ke dalam IndexedDB menggunakan langkah-langkah yang digariskan dalam bahagian sebelumnya.🎜🎜Apakah batasan menyimpan data binari dalam IndexedDB?🎜🎜🎜Terdapat beberapa batasan untuk menyimpan data binari dalam IndexedDB: 🎜🎜🎜🎜1. Had saiz:🎜 IndexedDB mempunyai had saiz 2^31-1 bait setiap pangkalan data. Ini bermakna anda tidak boleh menyimpan lebih daripada 2 GB data binari dalam satu pangkalan data IndexedDB.🎜🎜🎜2. Prestasi:🎜 Menyimpan data binari dalam IndexedDB boleh menjadi lebih perlahan daripada menyimpan jenis data lain, seperti rentetan atau nombor. Ini kerana IndexedDB perlu menukar data binari kepada rentetan base64 sebelum menyimpannya, yang boleh menjadi proses yang memakan masa.🎜🎜🎜3. Keserasian:🎜 IndexedDB tidak disokong oleh semua penyemak imbas. Ini bermakna anda mungkin tidak boleh menggunakan IndexedDB untuk menyimpan data binari dalam semua penyemak imbas.🎜Atas ialah kandungan terperinci indexdb masukkan binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!