首页 > 解决方案 > Flutter web 从 API 下载 pdf 并保存在目录中

问题描述

我构建了一个颤振的网络应用程序,我的要求是获取一个文件(PDF)并将其写入文件或下载它,我从 API 获取我的文件,它给了我一个文件而不是链接,

谁能帮我这个。一个例子会更有帮助。

谢谢

标签: flutterdartflutter-web

解决方案


使用此实用程序方法:

import 'dart:html' as html;

void openDownloadLink(String href, String filename) {
  html.document.createElement('a') as html.AnchorElement
    ..href = href
    ..download = filename
    ..dispatchEvent(html.Event.eventType('MouseEvent', 'click'));
}

Uri getHref() => Uri.parse(html.window.location.href);

第一个参数是要下载的文件的 URL,第二个是浏览器将显示的“建议”文件名。请注意,您不能输入本地文件的完整路径 - 文件名只是一个建议。

getHref功能可能有用。它返回一个Uri表示 Flutter Web 应用程序的启动位置。如果您想要一个相对于您的 PDF 的路径,请修改它,保持https://server...部分相同。同样,您可以使用相对路径作为href参数,例如../pdfs/somefile


推荐阅读