我需要在我的ApGyver类固醇应用程序中显示捕获的图像。我捕获图像,然后尝试在我的图像中设置src。但是它给了我错误的允许没有本地资源:
我正在以这种方式捕捉图像:
var options = {
quality: 50,
targetWidth: 300,
targetHeight: 300,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA, // Camera.PictureSourceType.PHOTOLIBRARY
allowEdit: false,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: true,
limit: 1
};
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
console.log(mediaFiles);
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].localURL;
// do something interesting with the file
}
if (switched) {
$scope.post.media = []
}
$scope.post.media.length = 1;
$scope.post.fileUrl = path;
setActionType('image');
$scope.isBusy = false;
console.log('hello' + path);
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start image capture
navigator.device.capture.captureImage(captureSuccess, captureError, options);
答案 0 :(得分:1)
尝试使用此代码捕获并上传图像。并在您的index.html链接cordova.js并添加相机插件确定。还有任何问题都告诉我。
function capturePhoto() {
navigator.camera.getPicture(uploadPhoto, onFail, {
quality: 50,
// allowEdit: true,
correctOrientation: true,
destinationType: Camera.DestinationType.FILE_URL,
// destinationType: Camera.DestinationType.DATA_URL
sourceType: Camera.PictureSourceType.CAMERA
});
}
function onFail(message) {
// alert('Failed because: ' + message);
}
function uploadPhoto(imageURI){
console.log(imageURI);
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI("http://XYZ/uploadimg?user_id="+UserId+""), winGallary, fail, options);
console.log(ft.upload);
}
function winGallary(rGallary) {
console.log("Code = " + rGallary.responseCode);
console.log("Response = " + rGallary.response);
console.log("Sent = " + rGallary.bytesSent);
}
function fail(error) {
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}