この作業を回避して実装してみました1.写真をキャプチャします 2.保存した場所から写真を取得し ます3.写真をbase64として読み取ります
私はこの方法論に従いました:
var cameraOptions = {};
function capturePhoto() {
console.log("capture photo");
cameraOptions = { quality: 70, destinationType: Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.CAMERA, saveToPhotoAlbum: true };
doIt();
}
function doIt() {
navigator.camera.getPicture(onCameraSuccess, onCameraFail, cameraOptions);
}
function onCameraSuccess(imageURI) {
console.log("Camera Success");
$('#MokhalfaPhotoLocation').val(imageURI);
console.log("Image URI: " + imageURI);
window.resolveLocalFileSystemURI(imageURI, onResolveImageSuccess, onFail); //get the file from the physical path...
}
function onResolveImageSuccess(fileEntry) {
fileEntry.file(gotFile, onFail);
}
function gotFile(file) {
readDataUrl(file);
}
function readDataUrl(file) {
console.log("read file as dataUrl");
var reader = new FileReader();
reader.onloadend = function (evt) {
console.log("Read as data URL");
window.localStorage.setItem("mokhalfaPhotoURL", evt.target.result);
};
reader.readAsDataURL(file);
}
このチェーンは、CameraSuccessまで正常に機能し、その後、回線で失敗します
window.resolveLocalFileSystemURI(imageURI, onResolveImageSuccess, onFail);
エラーコード=5でonFailイベントに入りました
ところで、このコードはAndroidで正常に機能しましたが、問題はWindows Phone 7にあります。誰もが問題を知っていますか?