Storan Tempatan: Panduan Cara Menyimpan dan Memulihkan Objek Fail
P粉253518620
2023-08-22 13:29:16
<p>Saya mempunyai aplikasi menggunakan HTML5/JavaScript yang menggunakan </p>
<pre class="brush:php;toolbar:false;"><input type="file" accept="image/*;capture=camera" onchange="gotPhoto(this)"></pre> ;
<p>Untuk menangkap imej kamera. Memandangkan aplikasi saya mahu berjalan di luar talian, bagaimana saya boleh menyimpan objek Fail (https://developer.mozilla.org/en-US/docs/Web/API/File) dalam storan setempat supaya ia boleh digunakan kemudian Dapatkannya apabila memuat naik melalui ajax? </p>
<p>Saya mendapat objek fail daripada...</p>
<pre class="brush:php;toolbar:false;">fungsi gotPhoto(elemen) {
var file = element.files[0];
//Saya mahu menyimpan 'fail' ke storan tempatan di sini :-(
}</pre>
<p>Saya boleh menukar objek kepada rentetan dan menyimpannya, tetapi apabila saya memulihkannya, ia tidak lagi dikenali sebagai objek Fail dan oleh itu tidak boleh digunakan untuk mendapatkan kandungan fail. </p>
<p>Saya rasa ini tidak boleh dicapai, tetapi saya terbuka menerima cadangan. </p>
<p>Sebenarnya, penyelesaian saya ialah membaca kandungan fail semasa menyimpan dan menyimpan kandungan lengkap ke storan setempat. Ini berfungsi, tetapi menggunakan ruang storan setempat dengan cepat kerana setiap fail ialah foto 1MB+. </p>
Tukarkannya kepada base64 dan simpan.
Anda tidak boleh menyerikan objek API fail.
Walaupun ini tidak menyelesaikan masalah khusus, tetapi... Walaupun saya belum menggunakan ini, jika anda menyemak siaran ini nampaknya terdapat beberapa cara (walaupun belum disokong oleh kebanyakan penyemak imbas) untuk menyimpan data imej luar talian ke dalam beberapa fail supaya ia boleh dipulihkan apabila pengguna dalam talian (tanpa menggunakan localStorage)