javascript - 如何将 JS blob 加载到浏览器中以显示文件
问题描述
这是我的情况。我正在制作一个包含以下内容的个人文件共享网站:
- 用于前端的 Vue3 应用程序
- 用于后端的 Net 5.0 API
这些在两个不同的 url 下运行
- 共享域名.tld
- api.share.domain.tld
上传我的结果后是一个api.share.domain.tld/{identifier}
返回文件的 url。
我不希望能够直接在share.domain.tld/{identifier}
我的 vue 应用程序运行所在的浏览器中显示文件。
我的第一个解决方案是在路由器中使用重定向,通过使用beforeEnter
和设置window.location.href
从浏览器访问时工作正常,但是当在share.domain.tld/{identifier}
Discord 等应用程序上发送 url 时,它不会遵循重定向并且无法显示预览对于文件。
如果我通过 axios 请求文件并为其创建 blob,我如何使用 js 将文件数据加载到浏览器中,就像从 url 加载文件时一样,让浏览器使用它通常的处理方式,例如显示图像或pdfs,但下载其他类型的文件,如zips?
解决方案
推荐阅读
- java - 如何将其他语言编译器集成到 Java 项目中?
- typescript - TS2570:“Promise”类型上不存在属性“getResources”
' - postgresql - postgresql 将完整数据作为一个 json 读取
- ruby-on-rails - 如何使用 Rails Nokogiri gem 编写 HTML 实体?
- angularjs - 如何在 Angular js(版本 1)中实现“非空”过滤器?
- reactjs - 为什么在服务器上构建创建后刷新后我无法访问路由?
- python - Python nslookup IP 列表
- node.js - 使用 puppeteer 生成 PDF 而不保存
- jquery - jQuery检查div是否具有内联样式
- c++ - BOOST_FOREACH 宏强制方法脱离 Visual Studio 命名空间