Ionic framework 如何使用Ionic 2将文件下载到公共目录?
形势:Ionic framework 如何使用Ionic 2将文件下载到公共目录?,ionic-framework,Ionic Framework,形势: downloadFile() { const fileTransfer = new Transfer(); let url = 'http://www.example.com/example.txt'; fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) => { console.log('file
downloadFile()
{
const fileTransfer = new Transfer();
let url = 'http://www.example.com/example.txt';
fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) =>
{
console.log('file object');
console.log(entry);
}, (error) => {
// handle error
});
}
在我的爱奥尼亚2应用程序中,有一个文档
部分
我需要让用户下载文件。这意味着要将它们放在手机的存储器中,这样用户就可以打开它们或做任何他想做的事情
代码中似乎没有错误,但它没有将文档保存在公用文件夹中
我已经在Android设备和模拟器上进行了测试。在这两种情况下,我都找不到下载的文件
代码:
downloadFile()
{
const fileTransfer = new Transfer();
let url = 'http://www.example.com/example.txt';
fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) =>
{
console.log('file object');
console.log(entry);
}, (error) => {
// handle error
});
}
控制台:
downloadFile()
{
const fileTransfer = new Transfer();
let url = 'http://www.example.com/example.txt';
fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) =>
{
console.log('file object');
console.log(entry);
}, (error) => {
// handle error
});
}
这是emulator控制台中的日志:
文档:
downloadFile()
{
const fileTransfer = new Transfer();
let url = 'http://www.example.com/example.txt';
fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) =>
{
console.log('file object');
console.log(entry);
}, (error) => {
// handle error
});
}
如您所见,我正在使用cordova.file.externalDataDirectory
将文件保存在公用文件夹中
正如您可以从中看到的:
cordova.file.externalDataDirectory-将特定于应用程序的数据放在何处
外部存储器上的文件。(安卓)
问题:
downloadFile()
{
const fileTransfer = new Transfer();
let url = 'http://www.example.com/example.txt';
fileTransfer.download(url, cordova.file.externalDataDirectory + 'example.txt').then((entry) =>
{
console.log('file object');
console.log(entry);
}, (error) => {
// handle error
});
}
我不知道。。我可能遗漏了什么。。您知道如何将文件从爱奥尼亚2应用程序下载到公共存储中吗?使用
cordova.file.externalRootDirectory
并确保config.xml中的AndroidExtraFilesystems
值中有root
例如,您可以添加下载/
...
var pathFile= cordova.file.externalDataDirectory + 'Download/';
fileTransfer.download(url, pathFile + 'example.txt')
.then((entry) => {
...
您可以使用
'file:///storage/emulated/0/“
如果cordova.file.externalRootDirectory
为空请将设备连接到笔记本电脑,并使用logcat查看发生了什么情况检查我对类似问题的回答,它在笔记本电脑/桌面浏览器上也不起作用。请注意,社区已经讨论了“自制标签”的使用。”在问题标题中,我们已经决定,我们更希望标题应该用自然流畅的英语书写。