2016-05-20 11 views
0

AngularJSを使用してBase64イメージをコードバスアプリケーションプロジェクトのBLOBに変換したいが、不正なコンストラクタエラーが発生する。私は、オンラインで与えられたソリューションの多くを試してみましたが、どれもうまくいかないようです。どんな助けもありがとうございます。不正なコンストラクタエラー:cordovaでBase64からBlobに変換できない

var imageElement = angular.element(document.querySelector('#profileImg')); 
var imageURI = dataURIToBlobURI(imageElement.attr('src')); 

function dataURIToBlobURI(dataURI) { 
    // convert base64 to raw binary data held in a string 
    // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this 
    var byteString = atob(dataURI.split(',')[1]); 

    // separate out the mime component 
    var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] 

    // write the bytes of the string to an ArrayBuffer 
    var ab = new ArrayBuffer(byteString.length); 
    var ia = new Uint8Array(ab); 
    for (var i = 0; i < byteString.length; i++) { 
     ia[i] = byteString.charCodeAt(i); 
    } 

    var bb = new Blob([ab], {type: 'image/png'}); 
    return bb; 
    } 

私はここnew Blob([ab], {type: 'image/png'})上のエラーを取得しておくと、それを動作させる方法をKNWように見えるいけません。 Chromeで表示されていないアプリがAndroidまたはiOSにある場合にのみ発生します。

私は以下を試したが、役に立たない。

var bb = new Blob(ab); 
var bb = new Blob([ab]); 
var bb = new Blob(dataURI); 

おかげ

+0

新しいブロブ([IA]、{タイプ: '画像/ PNG'}) 'てみました;' – Musa

+0

を試みたが、doesntの仕事 –

答えて

0

キングスレー!エラーを再現できる可能性のあるデバイスは、実際にBlobをサポートしていません。

はまずpolyfillを確認するか、あなたの問題を解決するために同様のSMTH:実際には次の2つの方法を使用することができます。 Blobをコンストラクタとして使用することができます。

第2にの場合は、Blob以外のBlobBuilderを使用できます。下の小さな例文

var bb = new BlobBuilder(); 
bb.append('blob content'); 
var blob = bb.getBlob('text/plain'); 
0

私はこの問題を解決するためにこれを使用しました。誰かを入れてこの問題にぶつかります。すべてのソリューションは私のデバイス上で動作しませんでした。ちょうど指示に従って、javascriptファイルを追加し、あなたはうまくいくはずです。 https://github.com/blueimp/JavaScript-Canvas-to-Blob

var b64Data = 'R0lGODdhUAA8AIABAAAAAP///ywAAAAAUAA8AAACS4SPqcvtD6' + 
     'OctNqLs968+w+G4kiW5omm6sq27gvH8kzX9o3n+s73/g8MCofE' + 
     'ovGITCqXzKbzCY1Kp9Sq9YrNarfcrvcLDovH5PKsAAA7', 
    imageUrl = 'data:image/gif;base64,' + b64Data, 
    blob = window.dataURLtoBlob && window.dataURLtoBlob(imageUrl); 
関連する問題