2016-10-27 4 views
0

いくつかの問題(firebase 2を3にアップグレードする際の問題)を回避するには、iframeを使用してFirebase Storageにアップロードする必要があります。ブロブをiframeに渡すことができません

通知iframe関数にBlobを渡すことができません。私が同じドメインで行ったとき

canvas.toBlob(function(blob) { 
    var upload = firebase.storage().ref().child('testing.jpg').put(blob) 
    upload.on('state_changed', function(snapshot) { 
     console.log(snapshot) 
    }, function(err) { 
     console.error(err.stack) 
     reject(err) 
    }, function() { 
     console.log('uploaded to', upload.snapshot.downloadURL) 
     resolve(upload.snapshot.downloadURL) 
    }) 
}, 'image/jpeg') 

これは機能します。私は、IFRAME機能

canvas.toBlob(function(blob) { 
    document.getElementById('iframe').contentWindow.uploadImage('testing.jpg', blob) 
     .then(function(url) { 
      console.log('>>>', url) 
     }) 
     .catch(function(err) { 
      console.error(err.stack) 
     }) 
}, 'image/jpeg') 

にBLOBを渡すとき、それは

Firebase保管して失敗します。予想されるBLOBまたはファイル:インデックス0のputで無効な引数。

Blobがiframeに渡されたときのように、破損しているようですか?

答えて

0

オブジェクトを渡すときに何か不思議なことが起きているように見えるので、代わりにbase64の文字列を渡しました。

iframe.contentWindow.uploadImage(path, canvas.toDataURL('image/jpeg'))

関連する問題