У меня есть файл json на AWS s3. Я хочу сделать кнопку флаттера, чтобы вызвать загрузку этого файла с URL. Я немного осмотрел стек и нахожу способы загрузки json сгенерированных данных, но не из URL. Я действительно думал, что это было многообещающе:
Принудительная внешняя загрузка URL
, но я не могу заставить его работать во флаттере. Вот что я делаю, чтобы попытаться использовать якорь с атрибутом «загрузки».
Во-первых, мой URL выглядит следующим образом (хотя это и фальшивка, но только из-за вопроса о стеке publi c)
https://myfirmware.s3.amazonaws.com/proxy/version.json
Тогда я нашел этот ответ:
Опция загрузки Flutter WEB
Я попробовал это, но все равно (в chrome версии 80.0.3987.149 (Официальная сборка) (64-разрядная версия)) в браузере отображается json, а не позволяет сохранять в виде файла непосредственно при первом нажатии кнопка флаттера.
Мой код флаттера выглядит так:
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();
}
Я не уверен, как увидеть, как это конвертируется при создании флаттера для Интернета. Но я надеялся, что это будет выглядеть так, как они упоминали здесь:
Принудительная внешняя загрузка URL
, что:
<a href="http://example.com/media.mp3" download="check this out.mp3">Download Your File</a>