我收到以下错误:
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版
答案 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”错误。使用真实设备进行测试。