10

我收到以下错误:

    ReferenceError: FileTransfer is not defined

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

    var ft = new FileTransfer();

在 Linux (debian) 上使用 PhoneGap 开发插件文件和文件传输添加了 corse

资源:

    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 无效。

正在显示第一个和第二个警报。

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

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

PhoneGap 版本 3.1.0

4

3 回答 3

29

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

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

cordova plugin add cordova-plugin-file-transfer

否则,确实没有定义“文件传输”。

于 2013-12-01T19:33:14.770 回答
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 文档 -命令行界面

于 2014-04-18T08:34:17.130 回答
0

请注意,此插件在浏览器中不起作用,它会抛出“未定义新文件传输”错误。使用真实设备进行测试。

于 2016-04-11T18:24:38.660 回答