位置: IT常识 - 正文

vue解决Not allowed to load local resource(vue解决跨域问题)

编辑:rootadmin
vue解决Not allowed to load local resource 前言

推荐整理分享vue解决Not allowed to load local resource(vue解决跨域问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue解决中文乱码,vue解决异步取值问题,vue解决浏览器兼容性问题,vue解决异步请求问题,vue解决数据量过大的问题,vue解决跨域问题,vue解决数据量过大的问题,vue解决跨域的几种办法,内容如对您有帮助,希望把文章链接给更多的朋友!

在进行通过本地路径进行加载图片的时候,突然就报了这个问题 Not allowed to load local resource 这个是由于安全性的问题,导致浏览器禁止直接访问本地文件 那么,这边我说一下我具体是怎么解决的吧

问题描述

我的项目是用的vue的vantui框架+springboot 然后我后端给前端的数据是一个路径,具体如下图: 也就是一个本地文件路径的集合

// 为了防止后续图片失效看不到内容,在这标注其中一条数据D:\\EXAM_MATERIAL\\NEW-STAFF\\IMAGE\\B-0001\\B-0001 公司简介_01.png

而我在页面中的代码是使用的是

// imagebase64是自定义的变量<img :src="imgBase64" style="position: relative;width:100%;height:100%"/>vue解决Not allowed to load local resource(vue解决跨域问题)

我用了一个自定义的变量直接接收路径显示给它 通过按钮上一页和下一页改变自定义变量的值 如: 以下代码只写成最主要的代码,不包括样式,以及不代表我项目中具体代码

<template><div>// 图片显示<div><img :src="imgBase64" style="position: relative;width:100%;height:100%"/></div>// 按钮控制上一页和下一页<div><button @click="lastPage">上一页</button><button @click="nextPage">下一页</button></div><div></template><script>// 获取后端数据接口import { getImageList } from "../xxx"export default {name: "xxx",// 自定义属性 data() { return { slideImageList: [], // 接收后端数据 currentPage: 0, // 当前显示第几张图片 imgBase64: "", // 显示到图片的信息 } }, // 方法 methods: { // 获取后端数据方法 getImage() { getImageList ().then(res => { // 接收数据(这里根据自己接口来获取)this.slideImageList = res.data.data// 设置初始显示图片this.imgBase64 = this.slideImageList[0];}) }, // 上一页 lastPage() { if (this.currentPage !=0) { this.currentPage--; this.imgBase64 = this.slideImageList[this.currentPage]; } }, // 下一页 nextPage() { this.currentPage++; this.imgBase64 = this.slideImageList[this.currentPage]; },}, mounted() { // 加载页面获取数据 this.getImage(); },}</script>

然后就导致了这么一个问题出现

解决步骤

通过上面我们发现,直接将文件路径作为图片显示是不可用的, 于是我对获取后端接口数据作了处理

<script>// 获取后端数据接口import { getImageList } from "../xxx"export default {name: "xxx",// 自定义属性 data() { return { slideImageList: [], // 接收后端数据 currentPage: 0, // 当前显示第几张图片 imgBase64: "", // 显示到图片的信息 } }, // 方法 methods: { // 获取后端数据方法 getImage() { getImageList ().then(res => { // 接收数据(这里根据自己接口来获取)this.slideImageList = res.data.data// 定义变量接收处理过的数据let urlList = [];// 以路径D:\\EXAM_MATERIAL\\NEW-STAFF\\IMAGE\\B-0001\\B-0001 公司简介_01.png为例// 遍历数据for (let i = 0; i < this.slideImageList.length;i++) {// 定义临时变量接收遍历后的每条数据let path = this.sildeImageList[i];// 定义临时变量截取获取文件名称let name = path.substring(path.lastIndexOf("\\") + 1);// 定义临时变量接收最终处理后的结果let url = path.substring(0, path.lastIndexOf("\\") + 1).replace("D:\\EXAM_MATERIAL", "/EXAM_MATERIAL") + encodeURI(name);// 将处理后的结果加入到临时集合urlList.push(url);}// 清空接收的后端数据this.slideImageList = [];// 接收处理后的结果this.slideImageList = urlList;// 设置初始显示图片this.imgBase64 = this.slideImageList[0];}) }, // 上一页 lastPage() { if (this.currentPage !=0) { this.currentPage--; this.imgBase64 = this.slideImageList[this.currentPage]; } }, // 下一页 nextPage() { this.currentPage++; this.imgBase64 = this.slideImageList[this.currentPage]; },}, mounted() { // 加载页面获取数据 this.getImage(); },}</script>

即:

// 获取后端数据方法 getImage() { getImageList ().then(res => { // 接收数据(这里根据自己接口来获取)this.slideImageList = res.data.data// 设置初始显示图片this.imgBase64 = this.slideImageList[0];}) },

修改为:

// 获取后端数据方法 getImage() { getImageList ().then(res => { // 接收数据(这里根据自己接口来获取)this.slideImageList = res.data.data// 定义变量接收处理过的数据let urlList = [];// 以路径D:\\EXAM_MATERIAL\\NEW-STAFF\\IMAGE\\B-0001\\B-0001 公司简介_01.png为例// 遍历数据for (let i = 0; i < this.slideImageList.length;i++) {// 定义临时变量接收遍历后的每条数据let path = this.sildeImageList[i];// 定义临时变量截取获取文件名称let name = path.substring(path.lastIndexOf("\\") + 1);// 定义临时变量接收最终处理后的结果let url = path.substring(0, path.lastIndexOf("\\") + 1).replace("D:\\EXAM_MATERIAL", "/EXAM_MATERIAL") + encodeURI(name);// 将处理后的结果加入到临时集合urlList.push(url);}// 清空接收的后端数据this.slideImageList = [];// 接收处理后的数据this.slideImageList = urlList;// 设置初始显示图片this.imgBase64 = this.slideImageList[0];}) },修改代码后的结果

修改完之后,最终的结果如下:

结语

以上,为vue解决Not allowed to load local resource的过程

本文链接地址:https://www.jiuchutong.com/zhishi/281412.html 转载请保留说明!

上一篇:rtmservice.exe - rtmservice是什么进程 有什么用

下一篇:springboot整合Minio + vue 实现文件分片上传(完整代码)(springboot整合了哪些框架)

  • 计提印花税会计凭证怎么做
  • 印花税的征税范围具体有哪些
  • 非营利组织企业所得税
  • 产权转移书据印花税包括什么
  • 建筑业确认收入的时间是按进度计量么
  • 企业没有进项发票又开出很多发票
  • 建筑服务适用简易计税吗
  • 以房屋抵顶的工程叫什么
  • 共同控制合营企业的合营者
  • 高新技术产品收入增长率公式
  • 营改增的范围包括
  • 部门奖金怎么入账
  • 设备折旧后的价值
  • 发票已开款项未入账有什么影响?
  • 简易计税项目是所有发票都是普票吗
  • 哪些业务不需要进行平行记账
  • 软件开发过程中采用多种图形化工具
  • 私人打款到对公账户可以吗
  • 固定资产无偿移交怎么做账
  • 现金采购怎么算
  • 给外国教授发邮件最后一句
  • 应收账款少给货款怎么做分录?
  • 旅游业小规模纳税人亏损怎么填报
  • 企业安全库存是什么
  • 股权转让协议合同
  • 拔罐的好处和坏处除湿
  • php实现验证码功能
  • 白条入账会计要负刑事责任吗
  • chrome使用教程
  • PHP:imagecolorresolvealpha()的用法_GD库图像处理函数
  • 损益类账户年末一定无余额对吗
  • 贴现息计入什么科目
  • php filesize
  • 借款存入银行会计分录怎么写
  • 土地出让金抵减增值税账务处理
  • 印花税是根据什么申报的
  • 销售折让怎么核算成本
  • 帝国cms真的很好用
  • windows安装步骤总结
  • pandas columns排序
  • 现金周期和经营周期的计算公式
  • 事业单位会计制度
  • 转让土地如何做会计分录
  • 开收据是财务还是出纳
  • 建筑业异地预缴税款怎么纳税申报
  • 暂估入库的商品能出库吗
  • 增值税申报表中期初未缴税额指什么
  • 发票失控进项转出所得税
  • 股权转让的会计处理怎么做
  • 现金日记账年结怎么做
  • 施工企业项目部管理人员对外行为的法律后果由谁承担
  • 已核销的坏账又收回时应当及时入账,防止形成账外款
  • 银行利息收入的会计分录怎么写
  • 小规模免增值税吗
  • 施工单位索赔应满足哪些条件?
  • 应交税费对应的会计科目
  • 什么是现金等价物列举
  • 日记账的建账工作
  • sql将一个数据库的表导入到另一个数据库
  • win7电脑频繁自动重启是什么原因造成的
  • win7系统硬盘分区类型
  • Win10桌面图标怎么隐藏
  • 删除xp本地保存的视频
  • linux codec
  • linux可视化界面怎么输入代码
  • 如何修改windows密码策略
  • 电脑windows8怎么样
  • opengl光照纹理三个球
  • visual studio 无法编译
  • ExtJS TabPanel beforeremove beforeclose使用说明
  • 认识 认知
  • 对于javascript理解
  • android工程目录
  • 通过制作潜望镜活动,你获得哪些宝贵的经验
  • socket.io与pm2(cluster)集群搭配的解决方案
  • javascript常见的数据类型
  • android 网络编程
  • 上海烟草集团董事长是谁
  • 环保信用评价等级分级情况
  • 江苏省纳税信息查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设