2016-12-09 3 views
-1

私はローカルイメージのURLを持っていて、そこからブロブを取得したいと思います。ローカルイメージのURLからBlobを取得するには?

私が見つけた唯一の方法は、ローカルURLでHTTPリクエスト 'get'を行い、返されたBLOBを読み込むことでしたが、これは奇妙な方法です。

HTTPを使用してコードスニペット:

function readBody(xhr) { 
    var data; 
    if (!xhr.responseType || xhr.responseType === "text") { 
     data = xhr.responseText; 
    } else if (xhr.responseType === "document") { 
     data = xhr.responseXML; 
    } else { 
     data = xhr.response; 
    } 
    return data; 
} 

var xhr=new XMLHttpRequest(); 
xhr.open('GET',results[i],true); 
xhr.responseType='blob'; 
xhr.send(); 
xhr.onreadystatechange=function() 
{ 
    var blob; 
    if(xhr.readyState==4) 
    { 
     blob=readBody(xhr); 
     uploadPhoto(blob,storageRef); 

    } 
}; 
+0

コードを入力してください。あなたは試しました。 – nmnsud

+0

@nmnsud必要に応じて投稿を編集しました – Dandan

+0

なぜHTTPリクエストが奇妙に見えるのですか? – BanksySan

答えて

0

あなたの画像は、次に、BASE64からバイナリにBASE64に変換する必要があります。これは.toDataURL()dataURItoBlob()

を使用して実行されます。これはかなり難しい処理です。I've created a tutorial you can follow which walks you through the processです。

+0

ありがとうございました!リンクが壊れています、あなたはそれを修正できますか? – Dandan

関連する問題