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;
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...