如何将文件保存到 iOS' Library/NoCloud 文件夹?
How to save a file to iOS' Library/NoCloud folder?
我正在使用 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
有人知道我可能做错了什么吗?
我建议使用 cordova-plugin-file 而不是 phonegap-plugin-contentsync,因为前者会将文件写入 NoCloud。
我正在使用 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
有人知道我可能做错了什么吗?
我建议使用 cordova-plugin-file 而不是 phonegap-plugin-contentsync,因为前者会将文件写入 NoCloud。