base64イメージをphonegap(ios)からfirebaseストレージに送信する際に問題があります。主な問題は、firebaseストレージはBLOBまたはファイルとして添付ファイルとしてのみ受け入れられることです。Base64イメージをFirebase Storageに送信するphonegap
Heresカメラ機能のマイコード。コルドバ・プラグインカメラ
function GetCamera(){
navigator.camera.getPicture(cameraSuccess, cameraError, {quality :50,
destinationType: Camera.DestinationType.DATA_URL,
encodingType: Camera.EncodingType.JPEG,
saveToPhotoAlbum: true});}
機能は
function b64toblob(b64_data, content_type) {
content_type = content_type || '';
var slice_size = 512;
var byte_characters = atob(b64_data);
var byte_arrays = [];
for(var offset = 0; offset < byte_characters.length; offset += slice_size) {
var slice = byte_characters.slice(offset, offset + slice_size);
var byte_numbers = new Array(slice.length);
for(var i = 0; i < slice.length; i++) {
byte_numbers[i] = slice.charCodeAt(i);
}
var byte_array = new Uint8Array(byte_numbers);
byte_arrays.push(byte_array);
}
var blob = new Blob(byte_arrays, {type: content_type});
return blob;};
カメラ成功機能をBLOBにベース64に変換します。そのimageblobグローバル変数
firebaseストレージにtry{
var storageRef = storage.ref().child('fire');
var uploadTask = storageRef.put(imageblob);
uploadTask.on('state_changed',null, null, function(){
var downloadURL = uploadTask.snapshot.downloadURL;
console.log("downloadURL :"+downloadURL);
});
をブロブを置く
function cameraSuccess(imageData){
document.getElementById('Attachment1').innerHTML = "Attachment: True";
var image = imageData;
imageblob = b64toblob(image,"image/jpeg");}
であることに注意して取る私は、一つ一つの事を試してみましたが、その作業はありません。あなたの助けが本当に必要です。私はアイデアがありません