ios - 在 Phonegap iOS 中下载文件时出错
<p><p>您好,我正在使用 Phonegap 创建 iOS 应用程序。我正在使用 Filetransfer API 下载图像文件。我正在使用以下代码下载文件</p>
<pre><code> window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, createFolder, null);
function createFolder(fileSystem) {
console.log('gotFS');
fileSystem.root.getDirectory("MyDirectory", {
create: true,
exclusive: false
}, MyDirectorySuccess, MyDirectoryfail);
}
function MyDirectorySuccess(entry) {
console.log('gotDirectorySuccess');
downloadFile(entry);
}
function downloadFile(entry)
{
console.log('downloadFile');
var filePath = entry.fullPath+'test.jpg';
var fileTransfer = new FileTransfer();
var url = 'https://www.facebookbrand.com/img/fb-art.jpg';
fileTransfer.download(
url, filePath, function(entry) {
console.log("success");
}, function(error) {
console.log("error");
}, true, {});
}
</code></pre>
<p>当我在 iOS 设备上运行它时出现错误:</p>
<pre><code> FileTransferError {
body = "Could not create path to save downloaded file: You don\U2019t have permission to save the file \U201cMyRecipeDirectory\U201d in the folder \U201cMonarch13A452.J72OS\U201d.";
code = 1;
"http_status" = 200;
source = "https://www.facebookbrand.com/img/fb-art.jpg";
target = "cdvfile://localhost/root/MyDirectory/test.jpg";
}
</code></pre>
<p>我该如何解决这个问题? </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这是 cordova-plugin-file-transfer 和 cordova-plugin-file 插件之间的复杂错误。<br/>
FileTransfer 插件正在使用“root”类型的文件插件。为默认值,不能更改任何类型。<br/>
“root”的路径是“/”,这就是问题的原因。<br/>
例如,“persistent”的路径在iphone模拟器上为“/user/{your name}/Library/...”。<br/>
您无法访问“/”。<br/></p>
<p>我尝试在 getAvailableFileSystems() 方法中修改 @"root"路径,CordovaLib.xcodeproj 的 CDVFile.m。<br/>
但是设置后app崩溃了。<br/>
没有聪明的办法,我决定采取不自然的方式改变字符串。<br/></p>
<p>CDVFileTransfer.m 第 440 行中的 download() 方法</p>
<pre><code>target = ;
targetURL = [ fileSystemURLforLocalPath:target].url;
</code></pre>
<p>在此下添加代码。</p>
<pre><code>NSString *absoluteURL = ;
if () {
absoluteURL = ;
targetURL = ;
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 在 Phonegap iOS 中下载文件时出错,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/38067751/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/38067751/
</a>
</p>
页:
[1]