微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 用相机拍照后自动上传Phonegap中的照片

使用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 举报,一经查实,本站将立刻删除。

相关推荐