flutter - Flutter web 从 API 下载 pdf 并保存在目录中
问题描述
我构建了一个颤振的网络应用程序,我的要求是获取一个文件(PDF)并将其写入文件或下载它,我从 API 获取我的文件,它给了我一个文件而不是链接,
谁能帮我这个。一个例子会更有帮助。
谢谢
解决方案
使用此实用程序方法:
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
推荐阅读
- php - 文件夹中的图像被删除,但图像路径在 PHP 中未更新为 null
- powershell - 如何获取 Hyper-V 主机最近一小时的 CPU 使用率?
- .net - 使 ClickOnce 完全信任应用程序“绿色”
- azure - UserSecretsId 阻止将 F# ASP.NET Core 应用程序部署到 Azure 应用程序服务
- cordova-plugins - Crodova vk 插件不起作用[无法从清单文件中读取包名]
- python - Heroku python 应用程序抛出错误 - KeyError: 'pip._vendor.urllib3.util.queue'
- reporting-services - rdl一页可以显示多少行
- javascript - 如何使用 JavaScript 从 API 获取 XML 响应?
- db2 - BLOB 到字符串的转换 - DB2
- javascript - 绘制到画布或用作图像源时缺少 SVG 图像和图案