如何将PhoneGap中的图片传输到远程XPage?

3
我已经在我的iPad上使用1.6版本构建了一个Phonegap应用,并将url设置为Domino服务器上的XPage。
现在遇到问题:
当我在iPhone上拍摄照片并使用函数takePicture上传到我的XPage时,“返回值”是一个字符串,如下所示:
data:image/jpeg;base64,file://localhost/var/mobile/Applications/C1ABCAD3-5F54-45AB-81B0-A242940B58CB/tmp/photo_001.jpg

有没有可能上传文件而不是字符串?

这是我正在使用的代码:

XSP.submitLatency = 300*1000;

function takePicture() {    
    navigator.camera.getPicture(displayPicture,
     showError,
      { quality: 50 }

      ); 

}

function displayPicture(data) {

alert("Hallo" );
    var imagePanel = document.getElementById('imagePanel');
    imagePanel.style.display = "";
    imagePanel.style.position = "absolute";
    imagePanel.style.top = "250px";
    imagePanel.style.left = "0px";




    alert("data:image/jpeg;base64," + data)
    document.getElementById('image').src = "data:image/jpeg;base64," + data;
    document.getElementById("#{javascript:getClientId('inputHidden1')}").value = "data:image/jpeg;base64," + data;

    document.getElementById("#{javascript:getClientId('button1')}").disabled = false;
}

function showError(fail) {
    alert(fail);
}
1个回答

1
你需要做的是通过在选项options中指定destinationType,要求getPicture方法返回FILE_URI而不是DATA_URL。一旦你获得了URI,就可以使用FileTransfer.upload上传你的文件。

啊,谢谢,但我已经读过了。使用destinationType: Camera.DestinationType.DATA_URL应该返回一个Base64编码的图像而不是文件路径。 - Christian A.
我认为你在1.6.0版本中遇到了一个错误,这个错误应该在1.6.1版本中得到修复。你使用的是iOS系统,对吗? - Simon MacDonald
参数没问题,我用的是1.6而不是1.6.1。是的,我在iOS上。 - Christian A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接