真正令人困惑的是,当我使用手机摄像头拍摄图像时,我使用FileTransfer.moveTo
它并根据需要将图像发送到我 SD 卡上的指定文件夹。我还保留了一个图像对象列表localStorage
,看起来像这样:
[
Object
ean: "42208556"
image: "file:///storage/sdcard0/PhotoscanPhotos/d51b5b77-aab1-9947-096d-b0a92dfb87eafoto.jpg"
timestamp: 1396441761000
__proto__: Object
etc etc
作为我的应用程序的一部分,我使用与 src 属性相同的 image[i].image 来将图像动态添加到列表中,并且效果很好。但是,使用相同的参数 forFileTransfer.upload
会给我上述错误。
我的函数几乎是API 文档(Cordova 3.1)的复制品。代码如下:
function uploadImagesAsJpegs(imageObject) {
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName=imageObject.image.substr(imageObject.image.lastIndexOf('/')+1);
//alert(options.fileName);//debugging ............we're happy with this
options.mimeType="image/jpeg";
options.chunkedMode = true;
var serverUrl = http://172.17.7.112/mylocalserver;
var params = {};
params.value1 = ean;
params.value2 = imageObject.timestamp;
options.params = params;
var fileTransfer = new FileTransfer();
//alert(encodeURI(serverURL));//debugging ............we're happy with this
//alert("image to upload is: " + imageObject.image);//debugging............we're happy with this
fileTransfer.upload(imageObject.image, encodeURI(serverURL), onUploadSuccess, onUploadFail, options);
}