Cordova / Phonegap FileTransfer.upload()错误代码= 1(FILE_NOT_FOUND_ERR)

时间:2014-04-02 14:47:13

标签: javascript cordova phonegap-plugins phonegap-build cordova-plugins

当我使用手机摄像头拍摄图像时,真正令人困惑的是,我使用FileTransfer.moveTo并根据需要将图像发送到SD卡上的指定文件夹。我还在localStorage中保留了一个类似于以下内容的图像对象列表:

[
Object
ean: "42208556"
image: "file:///storage/sdcard0/PhotoscanPhotos/d51b5b77-aab1-9947-096d-b0a92dfb87eafoto.jpg"
timestamp: 1396441761000
__proto__: Object
etc etc

作为我的应用程序的一部分,我使用相同的图像[i] .image作为src属性动态添加图像到列表,它工作正常。但是,对FileTransfer.upload使用相同的参数会给我上述错误。

我的功能是API docs(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);
}

3 个答案:

答案 0 :(得分:7)

我认为设置options.chunkedMode = false;正在解决文件上传期间的大多数问题,也许可以尝试一下。

答案 1 :(得分:3)

我会尝试的是: 1.使用exclusive模式进行上传(最后为真)

  

fileTransfer.upload(imageObject.image,encodeURI(serverURL),   onUploadSuccess,onUploadFail,Options,true);

  1. 尝试首先将数据移动到设备的本地存储,而不是使用SD卡存储。也许这是一个许可案例,你只需要从手机本地存储上传。

  2. 确保图像未在另一个图像中作为图像源挂起,并且您具有对数据的完全访问权限。也许只需读取和写入即可。

答案 2 :(得分:1)

服务器端脚本是错误的...自然我应该已经考虑到明显的FileTransferError.FILE_NOT_FOUND_ERR错误消息。抱歉浪费每个人的时间,并感谢您的努力。