- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在 http://ngcordova.com/docs/plugins/fileTransfer/ 处使用 cordova-plugin-file-transfer
指定下载位置的示例代码如下。
var targetPath = cordova.file.documentsDirectory + "testImage.png";
但是,这个属性不存在。我记录了 console.log(JSON.stringify(cordova.file))
并得到以下输出(格式化)。
{
"applicationDirectory": "file:///android_asset/",
"applicationStorageDirectory": "file:///data/data/com.ionicframework.mobile379071/",
"dataDirectory": "file:///data/data/com.ionicframework.mobile379071/files/",
"cacheDirectory": "file:///data/data/com.ionicframework.mobile379071/cache/",
"externalApplicationStorageDirectory": "file:///storage/emulated/0/Android/data/com.ionicframework.mobile379071/",
"externalDataDirectory": "file:///storage/emulated/0/Android/data/com.ionicframework.mobile379071/files/",
"externalCacheDirectory": "file:///storage/emulated/0/Android/data/com.ionicframework.mobile379071/cache/",
"externalRootDirectory": "file:///storage/emulated/0/",
"tempDirectory": null,
"syncedDataDirectory": null,
"documentsDirectory": null,
"sharedDirectory": null
}
此外,我还遵循了此处的一些提示 https://cordova.apache.org/docs/en/dev/cordova-plugin-file/并使用以下更改修改了我的 config.xml。
<preference name="AndroidPersistentFileLocation" value="Internal" />
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,root" />
此代码不是在模拟器或浏览器上运行,而是在真正的 Android 设备上运行。关于此属性为何为空的任何想法?
当我尝试下载文件时,我得到的只是一个错误。我的代码如下所示。
$cordovaFileTransfer.download(url, path, {}, true)
.then(function(result) {
console.log(JSON.stringify(result));
}, function(err) {
console.log(JSON.stringify(err));
}, function(progress) {
console.log(JSON.stringify(progress));
});
这是错误(格式化)。
{
"code": 1,
"source": "http://192.168.0.169/api/user/file/e95cdcfd541746b3b0721c992d756137",
"target": "IMG_20160224_030826.jpg",
"http_status": 200,
"body": null,
"exception": "/IMG_20160224_030826.jpg: open failed: EROFS (Read-only file system)"
}
关于我做错了什么的任何想法?如果 documentsDirectory
为 null,我应该使用哪个 cordova.file.*
?
最佳答案
据我检查 cordova 文件插件,cordova.file.documentsDirectory 对 Android 无效。
这是github中cordova file plugin官方文档中提到的描述:
"cordova.file.documentsDirectory - Files private to the app, but that are meaningful to other application (e.g. Office files). Note that for OSX this is the user's ~/Documents directory. (iOS, OSX)"
试用适用于 Android 的 cordova.file.externalDataDirectory 或 cordova.file.externalRootDirectory。希望对你有帮助
关于android - 为什么 cordova.file.documentsDirectory 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367973/
我正在尝试通过编写 Objective c 来提高自己,但我还不足以解决这个问题。我正在使用下面的代码将视频与音频合并并将最终视频保存到相机胶卷。代码工作完美,但我需要的是将该视频保存到临时文档中,以
我确信有更好的方法来做到这一点。我有这段代码,用于清除 iPhone 或模拟器上的 DocumentsDirectory。有时我只是想要一个干净的状态,有时我对数据库进行更改并且需要重建它。 因此,在
我正在尝试播放下载到设备文档目录的视频。由于某种原因,它不会发生。我得到的只是这个符号: 这是我的代码: let documentPath = NSSearchPathForDirectoriesIn
我正在尝试在 http://ngcordova.com/docs/plugins/fileTransfer/ 处使用 cordova-plugin-file-transfer 指定下载位置的示例代码如
我正在尝试使用以下代码使用 ibook 等其他应用程序打开我生成并保存在文档目录中的 pdf: NSLog(@"Send PDF: %@", _pdfPath); NSURL *url = [NSUR
我正在尝试建立与数据库的连接,我发现当我将路径设置为 NSBundle 时成功,但当我尝试将路径设置在我的应用程序的文档目录中时却没有成功。这是我的代码: -(IBAction)setInput:(i
多年来,我一直在使用 AIR for iOS 来构建在本地下载 HTML 文件并通过 stageWebView 加载它们的 iOS 应用程序,直到 AIR 26 发布。它停止从 documentsDi
我是一名优秀的程序员,十分优秀!