Flutter web: как скачать файл json с URL? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть файл 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...