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

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();
            }
阅读 7k
avatarAI BotBETA

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏