如何将文件保存到 iOS 的 Library/NoCloud 文件夹?
Posted
技术标签:
【中文标题】如何将文件保存到 iOS 的 Library/NoCloud 文件夹?【英文标题】:How to save a file to iOS' Library/NoCloud folder? 【发布时间】:2016-04-19 10:12:46 【问题描述】:我正在使用 Cordova 开发一个应用程序,该应用程序应该使用 Phonegap 的插件内容同步 (https://github.com/phonegap/phonegap-plugin-contentsync) 下载文件。
我可以将文件下载到我的设备,但我需要将我的文件下载到 /Library/NoCloud 文件夹。
在我的config.xml
中,我设置了以下内容:
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="BackupWebStorage" value="none" />
当我开始下载时,我还在控制台中看到了一些奇怪的东西。首先它引用了NoCloud
文件夹,但是下载后,它似乎将我的文件存储在Library
文件夹中......
这是我的 Xcode 控制台:
2016-04-19 11:37:35.284 Cravt B2B[581:609454] appPath file:///var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/NoCloud/image-3177
2016-04-19 11:37:35.310 Cravt B2B[581:609498] WARNING: Trusting host s3.eu-central-1.amazonaws.com
2016-04-19 11:37:35.311 Cravt B2B[581:609498] startDownload from https://s3.eu-central-1.amazonaws.com/cravt-ecommerce/production/spree/images/3177/large/890012.png?1441333372
2016-04-19 11:37:35.621 Cravt B2B[581:609498] Received challenge for host s3.eu-central-1.amazonaws.com
2016-04-19 11:37:36.754 Cravt B2B[581:609492] Moving /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png to /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177
2016-04-19 11:37:36.809 Cravt B2B[581:609492] Error copying. File might already exist Error Domain=NSCocoaErrorDomain Code=516 "“890012.png” couldn’t be moved to “Library” because an item with the same name already exists." UserInfo=NSSourceFilePathErrorKey=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png, NSUserStringVariant=(
Move
), NSDestinationFilePath=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177, NSFilePath=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png, NSUnderlyingError=0x13d6aef20 Error Domain=NSPOSIXErrorDomain Code=17 "File exists"
2016-04-19 11:37:36.812 Cravt B2B[581:609492] Task: /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177 completed successfully
有人知道我做错了什么吗?
【问题讨论】:
您可以发布代码以进一步调查吗? 【参考方案1】:我建议使用 cordova-plugin-file 而不是 phonegap-plugin-contentsync,因为前者会将文件写入 NoCloud。
【讨论】:
以上是关于如何将文件保存到 iOS 的 Library/NoCloud 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 react native 将 pdf 文件保存到文件系统(ios/android),可以在应用程序外部访问