如何从URL下载JSON文件



我在AWS s3上有一个JSON文件。我想制作一个flutter按钮来触发从URL下载该文件。我仔细研究了一下堆栈,找到了下载JSON生成的数据的方法,但不是从URL下载。我确实认为这个很有前景:

强制外部下载url

但我似乎无法让它在颤动中工作。以下是我正在做的尝试使用锚与";下载";属性

首先,我的URL看起来是这样的(这是假的,尽管只是为了公共堆栈问题(

https://myfirmware.s3.amazonaws.com/proxy/version.json

然后我找到了这个答案:

Flutter WEB下载选项

我试过了,但它仍然(在Chrome版本80.0.3987.149(官方版本((64位(中(在浏览器中显示JSON,而不是允许我在第一次点击flutter按钮时直接保存为文件。

我的颤振代码看起来像:

child: RaisedButton(
elevation: 1.0,
onPressed: () => 
downloadFile("https://myfirmware.s3.amazonaws.com/proxy/version.json"),
child: Text("Proxy Config File")),

我的进口是:

import 'package:universal_html/html.dart' as html;

这种方法是:

void downloadFile(String url){
html.AnchorElement anchorElement =  new html.AnchorElement();
anchorElement.href = url;
anchorElement.download = 'test.json';
anchorElement.click();
}

我不知道在为网络构建flutter时,如何看到它是如何转换的。但我希望这看起来很像他们在这里提到的:

强制外部下载url

即:

<a href="http://example.com/media.mp3" download="check this out.mp3">Download Your File</a>

您可以在这个用例中使用flaft_downloader插件。使用下载URL和目标目录创建任务以进行存储。

final taskId = await FlutterDownloader.enqueue(
url: downloadUrl,
savedDir: downloadPath,
);

在创建任务之前,请确保初始化FlutterDownloader。

WidgetsFlutterBinding.ensureInitialized();
await FlutterDownloader.initialize();

相关内容

  • 没有找到相关文章

最新更新