位置: 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整合了哪些框架)

  • OPPO通话黑屏感应器怎么关闭(oppo通话黑屏 不亮屏)

    OPPO通话黑屏感应器怎么关闭(oppo通话黑屏 不亮屏)

  • realme gt neo2怎么设置简体中文(realme GT Neo2怎么读)

    realme gt neo2怎么设置简体中文(realme GT Neo2怎么读)

  • 华为nova7如何分屏(华为nova7如何分屏操作视频)

    华为nova7如何分屏(华为nova7如何分屏操作视频)

  • 企业微信是腾讯的吗(企业微信是腾讯会议吗)

    企业微信是腾讯的吗(企业微信是腾讯会议吗)

  • 主机电源灯一闪一闪开不了机(主机电源灯一闪一闪开不了机解决方法)

    主机电源灯一闪一闪开不了机(主机电源灯一闪一闪开不了机解决方法)

  • 品胜充电宝一直显示99(品胜充电宝一直闪烁)

    品胜充电宝一直显示99(品胜充电宝一直闪烁)

  • 有边距打印和无边距打印的区别(有边距打印和无边距打印区别)

    有边距打印和无边距打印的区别(有边距打印和无边距打印区别)

  • 买ipad需要注意什么(买ipad还需要买什么后续装备)

    买ipad需要注意什么(买ipad还需要买什么后续装备)

  • 腾讯网课可以查看学生屏幕吗(腾讯课堂能查人吗)

    腾讯网课可以查看学生屏幕吗(腾讯课堂能查人吗)

  • ipadwifi版可以装卡吗(ipad能装无线网卡吗)

    ipadwifi版可以装卡吗(ipad能装无线网卡吗)

  • 爱奇艺会员下载的视频会员过期能看吗(爱奇艺会员下载的视频怎么保存到本地)

    爱奇艺会员下载的视频会员过期能看吗(爱奇艺会员下载的视频怎么保存到本地)

  • 卡西欧钢铁侠抬手灯怎么设置

    卡西欧钢铁侠抬手灯怎么设置

  • 淘宝看直播怎么关注主播(淘宝看直播怎么改自己的名字)

    淘宝看直播怎么关注主播(淘宝看直播怎么改自己的名字)

  • 拼多多怎么领免拼卡(拼多多怎么领免单)

    拼多多怎么领免拼卡(拼多多怎么领免单)

  • 小米9pro是曲屏吗(小米9pro是曲屏么)

    小米9pro是曲屏吗(小米9pro是曲屏么)

  • 如何查找本地打印机(怎么查找本地手机号)

    如何查找本地打印机(怎么查找本地手机号)

  • 海康录像机显示资源不足怎么解决(海康录像机显示网络不可达)

    海康录像机显示资源不足怎么解决(海康录像机显示网络不可达)

  • blued如何恢复聊天记录(blued怎么恢复聊天记录)

    blued如何恢复聊天记录(blued怎么恢复聊天记录)

  • emui和安卓有什么区别(emui和安卓系统哪个好用)

    emui和安卓有什么区别(emui和安卓系统哪个好用)

  • vivox27三指截屏怎么设置(vivox23三指截屏)

    vivox27三指截屏怎么设置(vivox23三指截屏)

  • 携程如何开票(携程上如何开票)

    携程如何开票(携程上如何开票)

  • 海信电视u盘助手在哪(海信电视u盘助手下载)

    海信电视u盘助手在哪(海信电视u盘助手下载)

  • 微信能用哪种共享单车(微信可以共享支付吗)

    微信能用哪种共享单车(微信可以共享支付吗)

  • 开机键盘灯不亮(开机键盘灯不亮屏幕没反应)

    开机键盘灯不亮(开机键盘灯不亮屏幕没反应)

  • 小规模企业所得税2023年税收政策
  • 销项税额是指
  • 本月发生费用未支付会计处理
  • 进口增值税完税证明
  • 个税身份证验证怎么弄
  • 自然人报税系统怎么进入单位报税系统
  • 做账一定要银行对账单吗
  • 总公司一般纳税多少
  • 企业资产损失所得税税前扣除办法
  • 哪些固定资产不需要计提折旧
  • 免税即征即退先征后退
  • 结转本期各项收入
  • 代扣和代垫
  • 工业企业外购存货的入账价值一般包括增值税吗
  • 工程收到收据没有发票的会计分录怎么做?
  • 营改增后小规模纳税人税率是多少
  • 没有ca证书怎么办社保
  • 发票连号不许报销吗
  • 汇总纳税企业的分公司如何享受税收优惠政策
  • 会计利润和税务利润的暂时性差异和永久性差异
  • 实收资本选择什么子目
  • doc文档隐藏
  • 旅游公司广告费支出扣除标准
  • 什么情况下公司可以开除员工
  • 购入已提足折旧的固定资产
  • linux块设备驱动详解
  • PHP:curl_multi_select()的用法_cURL函数
  • zhp.exe是什么进程
  • 俄勒冈州地理之歌
  • 商业一般纳税人增值税税负率最低多少
  • 已经开票但是未达到收入确认条件的怎么进行账务处理
  • 代理服务费怎么入账
  • html下划线怎么设置
  • php shell_exec()
  • 前端开发常用技术
  • SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算的概念
  • vue render ref
  • HTTP加密/HTTPS工作过程
  • springboot整合websocket怎么接受图片消息
  • yolov3怎么用
  • 微信自定义菜单在哪里
  • 专利权研发成功的会计分录
  • 在岗职工平均工资和社平工资的区别
  • 商贸企业出口退税吗
  • 库存商品用于研发要进项税额转出吗
  • day14-HTTP01
  • csv文件导入到pycharm时报错
  • 公司购买绿植入什么科目
  • 代销费是谁给谁
  • 股权投资公司属于证券公司
  • 企业账户在银行买黄金可以开发票吗
  • mysql左连接和右连接语法
  • 基本户变更经营范围需要什么材料
  • 发票上的收款人和复核人不写可以吗
  • 建筑施工企业检查的内容包括什么
  • 异地工程开票要注意什么手续
  • 装饰公司购买的安装服务怎么入账
  • 准备金支出是否含税
  • 所得税费用如何计提
  • java连接sqlserver数据库对象名无效
  • 在数据库master中拒绝了create table权限
  • mysql自动停止的解决办法
  • mysql触发器使用
  • win2008 server r2 intel无法安装网卡驱动不存在英特尔PRO适配器的解决方法
  • ubuntu 挂载iso文件
  • winserver是什么意思
  • win8怎么添加打印机到电脑上
  • jsp环境变量配置的步骤
  • android:ViewPager与FragmentPagerAdapter
  • 关于月亮的诗句
  • android点击图片跳转页面
  • cocos2dx4.0教程
  • django sessionid
  • unity3d打开
  • angular页面加载完后执行方法
  • jquery如何做登录
  • 你不需要知道我是谁,祖国知道我
  • 公司加油卡充值需要带什么
  • 柜台申报税务流程图
  • 包装物押金的计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设