当前位置: 首页 > 知识库问答 >
问题:

vue.js - vue 项目下载excel 文件报错The file at 'blob:http://xxxx' was loaded over an insecure connection?

郭翰翮
2023-10-27

The file at 'blob:http://xxxx' was loaded over an insecure connection. This file should be served over HTTPS. 这种要怎么改?

          <div @click="download">下载</div>           download() {              const x: any = new window.XMLHttpRequest();              x.open(                "GET",                "https:xxxx.xlsx",                true              );              x.responseType = "blob";              x.onload = () => {                const url = window.URL.createObjectURL(x.response);                const link = document.createElement("a");                link.href = url;                link.download = "格式文件.xlsx";                link.click();              };              x.send();            }

共有1个答案

云何平
2023-10-27

从你的问题来看,你正在尝试在 Vue 项目中创建一个下载 XLSX 文件的机制,但你遇到了一个安全连接问题。错误信息提示你文件是通过不安全连接加载的,这通常意味着你的文件应该通过 HTTPS 协议来提供。

你的代码应该没有问题,因为你已经使用了 https: 来获取文件。问题可能出在服务器配置上,或者你可能在一个需要 HTTPS 的上下文中尝试获取文件。

如果问题确实出在服务器上,你需要确保你的服务器配置正确,能够通过 HTTPS 提供 .xlsx 文件。具体的步骤取决于你的服务器类型和配置。

如果你在浏览器中遇到这个问题,可能是因为浏览器的安全策略要求所有的文件都必须通过 HTTPS 下载。你可以尝试在本地运行你的 Vue 项目(例如,使用 vue serve 或你在使用的任何其他开发服务器),并且确保你的项目正在通过 HTTPS 提供。如果你不能改变服务器的配置,你也可以尝试在开发环境中使用 HTTP,但在生产环境中使用 HTTPS。

如果问题仍然存在,你可能需要更详细地描述你的环境和问题,以便我可以提供更具体的帮助。

 类似资料: