Flutter Web 显示 Microsoft 文档 Firebase

Posted

技术标签:

【中文标题】Flutter Web 显示 Microsoft 文档 Firebase【英文标题】:Flutter Web Display Microsoft Documents Firebase 【发布时间】:2020-09-01 01:47:35 【问题描述】:

我正在尝试将 MS Documents 嵌入到 Flutter Web 应用程序中。 文档存储在 Firebase 存储中。我正在使用 MS Web Viewer 在浏览器中显示它们。

这没有任何问题:

https://view.officeapps.live.com/op/embed.aspx?src=https://file-examples.com/wp-content/uploads/2017/08/file_example_PPT_250kB.ppt

在 Firebase 上托管文档的以下两个版本不起作用:

https://view.officeapps.live.com/op/embed.aspx?src=https://firebasestorage.googleapis.com/v0/b/tutor-and-learn.appspot.com/o/public%2Ffile_example_PPT_250kB.ppt?alt=media&token=6e293eb9-9f3b-41ab-9969-f936b3c54384

https://view.officeapps.live.com/op/embed.aspx?src=https://storage.googleapis.com/tutor-and-learn.appspot.com/public/file_example_PPT_250kB.ppt?GoogleAccessId=firebase-adminsdk-t47jn%40tutor-and-learn.iam.gserviceaccount.com&Expires=1597309385&Signature=VHbm8U8xlf%2BYybwalAveZtl8FsmEmr6Uml%2BwX%2FR7TOFNqlj%2B8QW1FFSJUNB4qcAzVpEcntLzipT15Zj73B%2FLlSZlQwEU10s5RkJdR5CZeZ6MuF2DUptUbqfnNobdLkizEmwlQ6Bkk4DkDWCd9nRL%2BQ0GLYypBr%2Bxs39bpd8JSuxxACWCjq0Of8qLTBMZQmD%2BgbE8JkMdqvBVOV75A7EQyy1IWqHrRBD7RgVc46IEq4TaO2ZT9h56joJgawqZOt81%2Fkq95YmNWZNOeU9kVRuLpSFsqZru8Ku7aapiFcUXjrjuMWZeC1XCrTK7fwU6A8shNIyHq3bE8RB9a%2BCQnS0llA%3D%3D

无论是直接通过 Firebase 还是通过 Google Cloud Storage,我都能让它工作。

以上示例中的各个链接都可以正常工作,您可以下载文件。

https://firebasestorage.googleapis.com/v0/b/tutor-and-learn.appspot.com/o/public%2Ffile_example_PPT_250kB.ppt?alt=media&token=6e293eb9-9f3b-41ab-9969-f936b3c54384

https://storage.googleapis.com/tutor-and-learn.appspot.com/public/file_example_PPT_250kB.ppt?GoogleAccessId=firebase-adminsdk-t47jn%40tutor-and-learn.iam.gserviceaccount.com&Expires=1597309385&Signature=VHbm8U8xlf%2BYybwalAveZtl8FsmEmr6Uml%2BwX%2FR7TOFNqlj%2B8QW1FFSJUNB4qcAzVpEcntLzipT15Zj73B%2FLlSZlQwEU10s5RkJdR5CZeZ6MuF2DUptUbqfnNobdLkizEmwlQ6Bkk4DkDWCd9nRL%2BQ0GLYypBr%2Bxs39bpd8JSuxxACWCjq0Of8qLTBMZQmD%2BgbE8JkMdqvBVOV75A7EQyy1IWqHrRBD7RgVc46IEq4TaO2ZT9h56joJgawqZOt81%2Fkq95YmNWZNOeU9kVRuLpSFsqZru8Ku7aapiFcUXjrjuMWZeC1XCrTK7fwU6A8shNIyHq3bE8RB9a%2BCQnS0llA%3D%3D

我认为 MS Web 查看器无法处理 URL。有什么方法可以调整或更改 Firebase 中的任何内容以使其正常工作? 在 Firebase 存储控制台中查看文件,其正确类型为 application/vnd.ms-powerpoint。

【问题讨论】:

【参考方案1】:

在将签名的 URL 添加到 https://view.officeapps.live.com/op/embed.aspx?src= 之前对其进行编码。您可以使用在线工具对 URL 进行编码,例如 https://www.urlencoder.org/

【讨论】:

以上是关于Flutter Web 显示 Microsoft 文档 Firebase的主要内容,如果未能解决你的问题,请参考以下文章

将 Flutter 应用迁移到 Flutter Web 时如何显示图像资产?

如何从存储中选择多个图像并在 Flutter 和 Flutter Web App 中显示? [关闭]

Flutter Web 更改显示的 URL

如何在小部件的容器内显示 pdf [flutter-web]

Flutter web 在部署 web 应用程序时使用 singleChildScrollView 显示空白

图像列表不显示在 Flutter-web 中