- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在开发一个使用 native 文件传输插件的应用程序。但是由于一个奇怪的问题,我们无法为 iOS 创建测试飞行/发布版本。
问题:即使在成功安装“文件传输”插件后,我们在运行应用程序时也会看到以下错误
ionic cordova run ios -lc
console.warn: Native: tried accessing the FileTransfer plugin but it's not installed.
当我们点击调用 fileTransfer.download(..)
方法的按钮时 - 应用停止执行而不会抛出任何错误。
我在以下位置创建了一个包含日志和代码的详细帖子:
https://github.com/ionic-team/ionic-native/issues/2110
有什么帮助吗??
最佳答案
经过彻底的头脑 Storm ,我找到了答案——
我的问题是 FileTransfer 对象可以从 platform ready
函数内部访问,但不能在 provider
内部访问 - 这在 iOS 上也是如此[ Android 版本运行正常]
这是我做的:
因为我需要 provider
中的 FileTransfer
实例 - 我创建了一个变量 - 和一个更新方法 -
private fileTransfer: any;
public setFileTransferRef( param ){
this.fileTransfer = param;
}
因为我可以访问 platform.ready()
中的 FileTransfer
- 我在那里实例化了 FileTransferObject
并更新了 provider
如下-
initializeApp() {
this.platform.ready().then(() => {
console.log('fileTransfer: ');
console.log(JSON.stringify(this.fileTransfer));
//
let fileTransfer: FileTransferObject = this.fileTransfer.create();
//
this.mediaIOSProv.setFileTransferRef(fileTransfer);
.....
....
mediaIOSProv
是负责下载 zip 的 Provider。我还在 index.html
中的 build/vendor.js
之后放置了 cordova.js
-(我遇到了一些开发人员报告这样做解决了他们丢失的插件问题的帖子)-虽然没有这样的官方文档。
<body>
<!-- Ionic's root component and where the app will load -->
<ion-app></ion-app>
<!-- The polyfills js is generated during the build process -->
<script src="build/polyfills.js"></script>
<!-- The vendor js is generated during the build process
It contains all of the dependencies in node_modules -->
<script src="build/vendor.js"></script>
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- The main bundle js is generated during the build process -->
<script src="build/main.js"></script>
</body>
Since the app successfully ran on iOS - I did not dare to change the placement of
cordova.js
我猜是 -
1: 最好创建一个 Provider
来存储平台内实例化的每个 Native Plugin 的引用,并在需要时使用这些引用
2:可能缺少一些信息,特别是关于 iOS 的,关于 Ionic-Native Wrapper
任何建议/讨论将不胜感激。
关于ios - ionic 2 : tried accessing the FileTransfer plugin but it's not installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47240921/
在我的 Ionic 2 应用程序中,我使用 cordova-plugin-camera 拍照,通过 FILE_URL (本地设备的图像位置)检索图片,效果很好. 这给了我用相机拍照时的 URL:fil
我的设置是:Django 1.3/Python 2.7.2/Win Server 2008 R2/IIS 7.5/MS SQL Server 2008 R2。我正在开发一个应用程序,其主要功能是分析上
我正在尝试通过 cordova filetransfer 获取下载的文件,以便其他 native 应用程序(例如 android 上的下载应用程序)可以访问。 我正在获取/sdcard/Downloa
我有一个简单的混合应用程序,它应该使用 cordova 2.3.0 下载文件。来自文档: var filePath = someFullPath; //e.g. "file:///mnt/sdcard
我一整天都被这个问题困扰着,JavaScipt 代码看起来不错。但是在输出中我得到了这个: 2012-09-25 15:09:57.584 ViviJesolo[13863:c07] File Tra
因此,在修改了一段时间之后,我注意到 upload() 函数至少会抛出最基本的错误,即使给定的上传目的地完全是假的。但是,如果域中的任何地方都有 UNDERSCORE(具体来说,我需要上传到 dev_
我正在使用 Cordova (5.4) 为 Android 和 Iphone 创建应用程序。一切顺利,除了我想使用 Cordova 的插件“FileTransfer”下载图像,而且路径有一些问题。 如
我正在发送通过 Cordova 的 MediaCapture plugin 录制的视频通过 FileTransfer plugin 到远程服务器,但没有任何东西——无论是文件还是任何数据——都没有到达
我一直在 Phonegap 中实现上传图片功能。我的服务器端代码已经准备就绪。 我已经安装了 File 和 FileTransfer 插件,但是当我尝试将图片上传到我的服务器时,代码总是失败,并且总是
我收到以下错误: ReferenceError: FileTransfer is not defined 当我尝试创建一个新实例时: var ft = new FileTransfer
我在使用 Cordova 中的 FileTransfer 方法时遇到问题。该功能之前可以工作,但现在我已经切换了托管提供商,并且我使用选项对象发送的参数不起作用。我使用的上传代码是; $scope.u
我正在尝试使用 FileTransfer Cordova 插件 ( https://github.com/apache/cordova-plugin-file-transfer ) 的上传方法上传文件
我尝试使用 cordova FileTransfert 发送自定义 header ,但是当我检查 PHP 函数 getAllHeader() 时,“我找不到我的自定义 header 。 var opt
我正在使用 Cordova FileTransfer 对象将文件从 url 下载到设备。 var fileTransfer = new FileTransfer(); var path = cordo
在 angular/ionic 应用程序中,我有以下代码可以从互联网下载 pdf。 public pdfDownload(){ const fileTransfer: FileTran
我今天刚刚从 Cordova (PhoneGap) 1.5 升级到 1.9,突然我的 FileTransfer 参数停止发布。我可以说出来,因为我让服务器端调试了 $_POST 参数,它们现在是空白的
我正在使用 jquerymobile/phonegap/cordova(2.0) 开发移动应用程序。我尝试从流 (xml) 下载一些文件并将它们存储在本地。此行为仅出现在我用于调试的 chrome 浏
我正在进行相当简单的文件传输,应该从 AWS 下载文件并将其存储到设备上。虽然这似乎适用于 JPEG 文件,但它在 PDF 和 PNG 上失败,并显示错误,仅显示无法创建目标文件。 同时创建了一堆其他
我正在尝试使用 FileTransfer method 将文件从 PhoneGap 上传到服务器。我需要为此上传启用 HTTP 基本身份验证。 相关代码如下: var options = ne
我正在使用 cordovaFileTransfer 插件。使用下面的代码,我还将选项变量发送到我的 upload.php 文件。 var options = { fileKey: "file",
我是一名优秀的程序员,十分优秀!