从相机载入图片的内容到一个文件 [英] Load contents of image from camera to a file
问题描述
我在拍摄照片(或从库中选择),使用以下drictive使用PhoneGap的API:
I am taking a picture (or selecting from library) using phonegap API using the following drictive:
MyApp.directive('Camera', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
elm.bind('click', function() {
navigator.camera.getPicture(function (imageURI)
{
scope.$apply(function() {
ctrl.$setViewValue(imageURI);
});
}, function (err) {
ctrl.$setValidity('error', false);
},
//Options => http://docs.phonegap.com/en/2.6.0/cordova_camera_camera.md.html#Camera
{ quality: 50,
destinationType:Camera.DestinationType.FILE_URI
})
});
}
};
});
这回我一个URI看起来像,用对铬波纹模拟器,这是我看到卡恩粘贴此URI。
Which return me a URI that looks like, using ripple emulator on chrome, which I cann see pasting this URI.
blob:http%3A//localhost%3A8080/8e18de30-d049-4ce2-ae88-8500b444581e
我的问题是加载此URI
My issue is loading this URI
$scope.updateUserProfile = function (user) {
var myPicfile = $http.get(user.myPicture);
dataService.uploadPicture . . . some code to update the picture to Parse
}
*注:我不能解析一起使用PhoneGap的文件传输.COM:
当我这样做,我得到:
我想提出我的要求,如:
I am making my request like:
uploadPicture:功能uploadPicture(用户,回调)
{
VAR的serverUrl =' https://api.parse.com/1/files/ '+ user.Nick;
uploadPicture: function uploadPicture(user,callback) { var serverUrl = 'https://api.parse.com/1/files/' + user.Nick ;
$http({
method: 'POST',
url: serverUrl,
data: user.myPicture,
headers: {'X-Parse-Application-Id': PARSE_APP_ID,
'X-Parse-REST-API-Key': PARSE_REST_API_KEY,
'Content-Type': 'text/plain'
}
})
这是如何得到的图像到一个文件中的内容,那么我可以愉快地上传到Parse.com?
Any idea on how to get the content of the image to a file that then I can happily upload to Parse.com?
谢谢!
推荐答案
我终于身边工作了,因为我的最终目标是与PhoneGap的使用它,<一个href=\"http://www.raymondcamden.com/index.cfm/2013/7/10/Quick-note-for-Parse-and-JavaScript-Users#c0B6B2788-DF3A-3C87-ECC80849B56CC2BB\"相对=nofollow>在这个帖子的信息。 。非常感谢雷蒙卡姆登!
I finally work it around, since my ultimate goal was to use it with phonegap, with the info in this post. . Big thanks to Raymond Camden!
function gotPic(data) {
window.resolveLocalFileSystemURI(data, function(entry) {
var reader = new FileReader();
reader.onloadend = function(evt) {
var byteArray = new Uint8Array(evt.target.result);
var output = new Array( byteArray.length );
var i = 0;
var n = output.length;
while( i < n ) {
output[i] = byteArray[i];
i++;
}
var parseFile = new Parse.File("mypic.jpg", output);
parseFile.save().then(function(ob) {
navigator.notification.alert("Got it!", null);
console.log(JSON.stringify(ob));
}, function(error) {
console.log("Error");
console.log(error);
});
}
reader.onerror = function(evt) {
console.log('read error');
console.log(JSON.stringify(evt));
}
entry.file(function(s) {
reader.readAsArrayBuffer(s);
}, function(e) {
console.log('ee');
});
});
}
这篇关于从相机载入图片的内容到一个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!