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

  • 小规模开票超过五百万元,会自动升为一般纳税人吗
  • 预收三年租金 房产税怎么算
  • 不动产租赁税率2023
  • 可供出售金融资产和长期股权投资
  • 小微企业季度平均资产看每季度吗
  • 车船抵扣如何填报
  • 没有外币账户可以收外币吗
  • 代扣代缴个税对企业所得税的影响
  • 资产负债表应交税费期末余额是什么意思
  • 支付费用可以通过应收账款
  • 销售自用旧机动车辆的税务处理
  • 职工教育经费税收金额怎么算
  • 自建生产用机器设备领用本企业生产的产品
  • 贷款利息进项税额转出
  • 小规模纳税人租赁发票税率是多少
  • 销售时无法确认发票
  • 车辆后期保养费用
  • 不合规进项税如何账务处理
  • 餐饮企业员工
  • 金融行业小规模纳税人税率
  • 公司注销还需要登报吗
  • 超市预付卡发票如何入账
  • 借现金还银行怎么做账
  • 初级备考日记
  • 团建费用是什么意思
  • 外购公司的长期投资如何做账
  • 纳税人享受增值服务
  • 发票已认证但是没申报跨年度了怎么办
  • 公户的利息收入账务处理咋处理
  • 销售门窗并安装如何缴纳增值税
  • 利得和损失计入哪里
  • bios怎么恢复出厂设置dell
  • 然后重装系统win7
  • 基金管理人业绩报酬分配模式
  • thinkphp ide
  • 财务人员如何审核招待费报销单
  • 代理业如何交增值税
  • 财政资金借款给企业
  • 招聘下岗职工一名
  • 未分配利润怎么清零
  • 莫斯塔尔古桥多高
  • php批量替换
  • PyTorch 深度学习实战 |用 TensorFlow 训练神经网络
  • 36号文45条
  • 什么叫非侵入性装置
  • 如何用python制作人工智能
  • react useref获取dom元素
  • 过来人告诉你:女人最珍贵的三种东西,舍得给你说明爱你
  • 微信网页授权管理在哪里
  • <四>2:掌握Const 与一二级指针结合应用
  • php fgetc
  • 国债收益率如何查看
  • 职工教育经费的扣除限额
  • 工业用地便宜
  • 已提足折旧固定资产
  • 铁路运费印花税怎么算
  • 外账进销存单据是怎么弄的?
  • 大白菜一键装机教程
  • linux中安装telnet
  • 在windows7中,下列叙述中错误的是
  • Windows 8.1 RT Update 3更新将于9月发布
  • 日历显示不全
  • linux如何kill进程
  • windows8兼容性
  • cocos2d::DrawPrimitives和DrawNode分别实现画板功能
  • 贴吧热门评论
  • jquery插件怎么用到自己的网站
  • 详解js的异步编码
  • shell脚本怎么写循环
  • jQuery Validation Plugin验证插件手动验证
  • python数学语言
  • 安卓开发 内存
  • 员工离职了个人所得税年度汇算应申报未申报怎么处理
  • 潍坊昌邑售房信息
  • 医院电子发票怎么查
  • 长春市征收中心
  • 出口退税需要哪些单据
  • 税务稽查审理的基本原则
  • 税务报道可以学什么专业
  • 深化体制改革的根本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设