当前位置: 首页 > news >正文

Vue开发系列——读取本地资源报错‘Not allowed to load local resource:

目录

一、遇到问题

二、报错原因

三、解决方案

1、 在后端实现WebMvcConfigurer接口

2、前端Vue所有的本地地址替换成http://localhost:8888即可


一、遇到问题

Vue读取本地资源时报错:‘Not allowed to load local resource: file:///Users/apple/Documents/’

想模拟实现Excel下载功能,使用如下代码报错:

var url = 'file:///Users/apple/Documents/intelligentscoresystem/uploads/199/result/result.xls';
window.open(url);// url为文件连接

二、报错原因

出于安全考虑,浏览器是不能直接访问本地资源的

三、解决方案

        实际上无论是图片资源还是文件资源,都会存储在服务器上。故而为了解决浏览器是不能直接访问本地资源的问题,现在在后端模拟实现资源存在服务器的场景。

1、 在后端实现WebMvcConfigurer接口

@Configuration
public class WebConfig implements WebMvcConfigurer {/*** 资源映射路径* addResourceHandler:访问映射路径* addResourceLocations:资源绝对路径*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/uploads/**").addResourceLocations("file:///Users/apple/Documents/intelligentscoresystem/uploads/");}
}

注意: 现在本地的资源地址,就映射到了服务器资源地址上。

比如,

本地地址:file:///Users/apple/Documents/intelligentscoresystem/uploads/199/result/result.xls

映射后地址:

http://localhost:8888/uploads/199/result/result.xls

其中:http://localhost:8888为服务器ip地址、端口号

注:

WebMvcConfigurer是Spring MVC(或Spring Boot)中用于自定义框架配置的接口/抽象类,允许开发者通过JavaBean形式替代传统XML配置文件进行个性化设置。

核心功能
主要用于配置拦截器、视图解析器、消息转换器、静态资源处理、跨域资源共享(CORS)等特性,覆盖方法包括:

‌addInterceptors‌:注册自定义拦截器,支持请求预处理和响应后处理逻辑 ‌
‌configureViewResolvers‌:配置视图解析器,将逻辑视图名转换为物理视图实现 ‌
‌addCorsMappings‌:定义跨域资源共享规则,控制API访问权限 ‌
‌addResourceHandlers‌:映射静态资源路径到特定URL ‌
 

2、前端Vue所有的本地地址替换成http://localhost:8888即可

比如,模拟Excel下载实现的函数如下:

startDownload() {var url = 'http://localhost:8888/uploads/'+ this.subformdata.courseId+ '/result/result.xls';window.open(url);// url为文件连接}

http://www.dtcms.com/a/573142.html

相关文章:

  • 【Java基础14】函数式接口、lamba表达式、方法引用一网打尽(下)
  • 金仓KES vs. 达梦DM:全面对比解析迁移、运维与授权成本
  • 国际网站如何推做推广个人做百度云下载网站吗
  • 【Python爬虫基础-1】爬虫开发基础
  • 外贸设计网站邯郸微信托管
  • 深度学习_原理和进阶_PyTorch入门(1)
  • C# 实现在 Excel 中高效生成和操作表格
  • OpenTeleDB xstore vs GaussDB ustore表膨胀测试
  • 使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
  • 2025/11/5 IO流(字节流、字符流、字节缓冲流、字符缓冲流) 计算机存储规则(ASCII、GBK、Unicode)
  • 解决excel复制页面行高无法复制的问题
  • SSO登录验证设计要点细节(以微软 Microsoft SSO为例) 基于react python
  • 郑州网站备案地址移动互联网开发工程师证书
  • 网站建设的难处wordpress 臃肿
  • 芯谷科技--D29152高性能低降压可调稳压器,驱动高效电源管理新体验
  • 代码随想录第59天 | 最短路算法:dijkstra和Bellman_ford
  • web自动化测试详解
  • 网站建设文章官网小程序定制开发中心
  • PortSwigger靶场之利用开放重定向漏洞绕过过滤器的 SSRF 攻击通关秘籍
  • 深入理解 Spring 原理:IOC、AOP 与事务管理
  • 做网站公司赚钱吗怎么怎么做网站
  • 使用ESP8266+SG90舵机实现物理远程开机
  • 第四阶段C#通讯开发-5:TCP
  • WABT 项目全解析:WebAssembly 二进制工具套件
  • 第四阶段C#通讯开发-5:Socket与RS485 / Modbus联调
  • 辽宁建设资质申报网站国外直播sdk
  • 适配的 GPU 服务器能让 AI 模型充分发挥算力优势
  • 【高并发服务器:HTTP应用】十五、HttpRequest请求模块 HttpResponse响应模块设计
  • 两台服务器 NFS 共享目录实战
  • 在服务器已有目录中部署 Git 仓库