我正在尝试使用Ionic / Cordova的FileTransfer插件。
在我的日志中,我得到了这个:
845752 error Error: Can't find variable: FileTransfer
当我在命令行中运行此命令时:
ionic emulate ios -lc
我首先执行ionic build ios
然后执行ionic emulate
命令,但由于某种原因我仍无法访问该插件。
我是Ionic / Phonegap / Cordova的新手,我认为有一个步骤我不知道?
答案 0 :(得分:2)
这是一个FileTransfer插件下载和上传示例,它在我的iphone6或模拟中工作正常,你可以尝试一下。在尝试之前,您需要在项目中运行“cordova plugin ls”命令以确保已安装这些插件。 (他们已经导出到窗口,只需使用它。)
$scope.download = function() { var fileTransfer = new FileTransfer(); // local save path. var fileURL = cordova.file.documentsDirectory + "remotefile"; // download url var uri = encodeURI("http://remoteserver/remotefile"); fileTransfer.download( uri, fileURL, function(entry) { console.log("download complete: " + entry.toURL()); }, function(error) { console.log("download error source " + error.source); console.log("download error target " + error.target); console.log("upload error code" + error.code); }, false, { headers: { "Authorization": "" } }); }; $scope.write = function() { GapFile.writeFile("text_" + Date.parse(new Date()) + ".txt", "hello, i am a file. send me to server", function(fileUrl) { $scope.fileUrl = fileUrl; console.log("Create File: " + fileUrl); }, function(error) { console.log("ERROR: " + error); }); }; $scope.upload = function() { console.log("Upload File: " + $scope.fileUrl); function win(r) { console.log("Code = " + r.responseCode); console.log("Response = " + r.response); console.log("Sent = " + r.bytesSent); } function fail(error) { console.log("upload error source " + error.source); console.log("upload error target " + error.target); } var uri = encodeURI("http://your_remote_server/upload.php"); var options = new FileUploadOptions(); options.fileKey = "file"; options.mimeType = "text/plain"; var headers = { 'from': 'ios-app' }; options.headers = headers; var ft = new FileTransfer(); ft.upload($scope.fileUrl, uri, win, fail, options); }
答案 1 :(得分:0)
浏览器或模拟器不支持cordova文件传输插件。你无法在浏览器中测试它。你必须在移动设备上运行你的应用程序来测试cordova插件。然后,您可以使用chrome远程调试在浏览器中测试插件,即d