Cara convert gambar menjadi base64 string menggunakan javascript
Saya perlu untuk mengkonversi gambar ke base64 string sehingga saya dapat mengirim gambar ke server. Apakah ada file js ini... ? Lain bagaimana cara mengubahnya
455
11
Ada beberapa pendekatan yang dapat anda pilih:
1. Pendekatan: FileReader
Memuat gambar sebagai gumpalan melalui XMLHttpRequest dan gunakan FileReader API untuk mengubahnya menjadi dataURL:
Contoh kode ini juga bisa diimplementasikan dengan menggunakan WHATWG mengambil api:
Pendekatan ini:
Browser Yang Mendukung:
http://caniuse.com/#feat=filereader
http://caniuse.com/#feat=fetch
2. Pendekatan: Canvas
Memuat gambar ke Gambar-Objek, cat untuk non tercemar kanvas dan mengkonversi kanvas kembali ke dataURL.
detail
Format input yang didukung:
image/png
,image/jpeg
,image/jpg
,image/gif
,gambar/bmp
,gambar/tiff
,image/x-icon
,gambar/svg+xml
,gambar/webp
,gambar/xxx
Format output yang didukung:
image/png
,image/jpeg
,gambar/webp
(chrome)Browser Yang Mendukung:
http://caniuse.com/#feat=canvas
3. Pendekatan: Gambar dari sistem file lokal
Jika anda ingin mengkonversi gambar dari pengguna sistem file yang anda butuhkan untuk mengambil pendekatan yang berbeda. Gunakan FileReader API:
Anda dapat menggunakan HTML5
<kanvas>
untuk itu:Membuat kanvas, memuat gambar anda ke dalamnya dan kemudian gunakan
toDataURL()
untuk mendapatkan base64 representasi (sebenarnya, itu'sdata:
URL tapi mengandung base64-encoded image).Cuplikan ini dapat mengkonversi string, gambar, dan bahkan file video ke Base64 string data.
Pada dasarnya, jika gambar anda
kemudian anda dapat mengubahnya seperti
Berikut adalah apa yang saya lakukan
Dan di sini adalah bagaimana anda menggunakannya
Anda bisa menggunakan FileAPI, tapi itu's cukup banyak didukung.
Jika anda memiliki file objek fungsi sederhana ini akan bekerja:-
Pemakaian Ex:-
Saya menemukan bahwa yang paling aman dan dapat diandalkan cara untuk melakukannya adalah dengan menggunakan
FileReader()
Demo: Gambar untuk Base64
Sejauh yang saya tahu gambar dapat dikonversi menjadi base64 string baik oleh FileReader() atau menyimpannya dalam elemen kanvas dan kemudian menggunakan toDataURL() untuk mendapatkan gambar.Aku punya simmilar jenis masalah yang anda bisa lihat ini.
https://stackoverflow.com/questions/26212792/convert-an-image-to-canvas-that-is-already-loaded/26554277#26554277
Coba kode Ini
Upload File Chnage acara bmemanggil fungsi ini
Toko base64data di tersembunyi diajukan untuk digunakan.
Nah, jika anda menggunakan dojo, ini memberi kita cara langsung untuk encode atau decode ke dalam base64.
Coba ini:
Untuk menyandikan sebuah array dari byte menggunakan dojox.encoding.base64:
Untuk decode base64-encoded string: