ステップ1:
のデータ:画像/ JPEG; base64で、 'でDATA_URLを追加し、あなたのカメラで; sの成功コールバック。
$cordovaCamera.getPicture(options).then(function(data) {
var imgURI = 'data:image/jpeg;base64,' + imageData;
convertToBlob(imgURI);
}, function(err) {
});
ステップ2
function convertToBlob(imgData){
var byteString = atob(imgData.split(',')[1]);
var mimeString = imgData.split(',')[0].split(':')[1].split(';')[0];
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++)
{
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], { 'type': mimeString });
}
ステップ3
ブロブはない名前のファイルであるblobにデータを変換します。だからちょうどそれを追加してファイルがあります
私はあなたがバックエンドに画像を送信するFormDataを使用していると思いますか?はいの場合は、次のようにしてください:
var fdata = new FormData();
// blob is the output from the convertToBlob method
fd.append('file', blob, 'a.jpg');
私は既に上記の方法を試してみましたが、うまくいきませんでした。私はData.URLを$ http.postメソッドに直接渡しています。 –