phonegap“new FileTransfer”“未定义”

时间:2013-10-23 14:20:23

标签: cordova

我收到以下错误:

    ReferenceError: FileTransfer is not defined

当我尝试创建一个新实例时:

    var ft = new FileTransfer();

在Linux上使用PhoneGap进行开发(debian) 插件文件&文件传输添加了科西嘉

来源:

    var options = new FileUploadOptions();
    options.chunkedMode = false;
    options.fileKey = "file";
    options.fileName = imageURI.substr(imageURI.lastIndexOf('/')+1);
    options.mimeType = "text/plain";

    var params = new Object();
    params.value1 = "test";
    params.value2 = "filename";
    options.params = params;

    try {
            var ft = new FileTransfer();
    }

    catch (e) {
        alert("ERR = "+e);
    }
    alert("I = "+imageURI);

    ft.upload(imageURI, http://test.com/upload.php"), win, fail, options, true);

此示例中服务器的URL无效。

正在显示第1和第2个警报。

在apache访问或错误日志中没有在服务器上记录上载请求

Param imageURI是正确的,并通过函数参数传递(不是此源的一部分)

PhoneGap 3.1.0版

3 个答案:

答案 0 :(得分:29)

您是否添加了'文件'或'文件传输'插件?

The Filetransfer plugin是一个单独的插件,您需要添加它们:

cordova plugin add cordova-plugin-file-transfer

否则,确实没有定义'FileTransfer'。 希望有所帮助......

答案 1 :(得分:3)

在phonegap项目中运行以下命令。它应该在你的下一次构建时解决问题。

访问设备或网络上的文件(文件API):

$ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
$ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git

请参阅PhoneGap API文档 - The Command-line Interface以获取插件列表。

答案 2 :(得分:0)

请注意,此插件无法在浏览器中运行,它会抛出“未定义新的FileTransfer”错误。使用真实设备进行测试。