使用PhoneGap的相机和文件的API,我试图使它,以便当我在某个应用程序中拍摄照片时,它会自动上传到我正在使用的服务器.
我已经将两个API复制到我的index.html文件中,我唯一改变的是添加另一个javascript变量imageInfo,该变量在onPhotoDataSuccess的块中设置为等于ImageData.然后,当我调用它时,将此imageInfo设置为uploadPhoto的参数.
我改变的唯一另一件事就是放行:navigator.camera.DestinationType(1);因此输出是imageURI,这是uploadPhoto所采用的.
我在HTML中唯一的代码是:
button onclick="capturePhoto(); uploadPhoto(imageData);">Capture Photo</button (in brackets of course)
但由于某种原因它不起作用.你在我的推理中看到的任何提示或缺陷?
谢谢!
解决方法:
由于Camera是事件驱动的,你不能只是链接事件并希望最好的…在成功回调图片拍摄代码时,你必须调用代码来上传图片.
编辑
这里我使用成功绘制图像时返回的URI.但它应该非常简单.
function takePicture() {
loadPhotoIntake();
navigator.camera.getPicture(
setPicture,
function(e) {
console.log("Error getting picture: " + e);
document.getElementById('camera_status').innerHTML = "Error getting picture.";
},
{ quality: 70, destinationType: navigator.camera.DestinationType.FILE_URI});
};
function setPicture(uri) {
var c=document.getElementById('camera_image');
var ctx = c.getContext('2d');
var img = new Image();
var canvascopy = document.createElement("canvas");
var copyContext = canvascopy.getContext("2d");
var maxWidth, maxHeight;
img.onload = function(){
// resizing code
.....
// draw
ctx.drawImage(canvascopy, 0, 0, camera_image.width, camera_image.height);
};
img.src = uri;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。