位置: 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账号)

  • 华为nova7se是曲面屏吗(华为nova7是曲面吗)

    华为nova7se是曲面屏吗(华为nova7是曲面吗)

  • 抖音号可以修改几次(抖音号可以修改成手机号码吗)

    抖音号可以修改几次(抖音号可以修改成手机号码吗)

  • ipad一直激活失败(ipad一直激活失败怎么回事)

    ipad一直激活失败(ipad一直激活失败怎么回事)

  • 新买的苹果8有贴膜吗(苹果8有新手机吗)

    新买的苹果8有贴膜吗(苹果8有新手机吗)

  • 无线身份验证出现问题是什么原因(无线身份验证出现问题是什么原因造成的)

    无线身份验证出现问题是什么原因(无线身份验证出现问题是什么原因造成的)

  • 红米note5寿命(红米note5续航能力)

    红米note5寿命(红米note5续航能力)

  • 用户与姓名不匹配怎么办(用户与姓名不匹配 健康码)

    用户与姓名不匹配怎么办(用户与姓名不匹配 健康码)

  • 苹果1978机是什么意思(iphone 1978)

    苹果1978机是什么意思(iphone 1978)

  • 微信解绑手机号的后果(微信解绑手机号忘记密码怎么找回)

    微信解绑手机号的后果(微信解绑手机号忘记密码怎么找回)

  • 如何让照片显示时间和地点(如何让照片显示经纬度)

    如何让照片显示时间和地点(如何让照片显示经纬度)

  • 卡贴机能升级系统吗(卡贴机能升级系统和还原吗)

    卡贴机能升级系统吗(卡贴机能升级系统和还原吗)

  • vue添加字幕教程(vue vlog字幕怎么加)

    vue添加字幕教程(vue vlog字幕怎么加)

  • 微信刷脸支付怎么使用(微信刷脸支付怎么没有)

    微信刷脸支付怎么使用(微信刷脸支付怎么没有)

  • 天翼宽带政企版业务支持几个SSID(天翼宽带政企版业务支持几个SSID提供多种)

    天翼宽带政企版业务支持几个SSID(天翼宽带政企版业务支持几个SSID提供多种)

  • 盒马鲜生如何加盟(盒马鲜生如何加盟开分店)

    盒马鲜生如何加盟(盒马鲜生如何加盟开分店)

  • vue查询数据el-table不更新数据(vue 查询)

    vue查询数据el-table不更新数据(vue 查询)

  • 企业生产经营管理包括哪些
  • 注销空白缴销发票流程
  • 小规模纳税人征税率为多少
  • 多缴纳了印花税有什么影响
  • 企业所得税几大税种
  • 分期付款进项税额怎么算
  • 叉车折旧年限是几年预计净残值
  • 建行网银转账复核流程
  • 退税抵税申请表
  • 公司补缴社保协议书
  • 境外企业在境内取得的收入所得税
  • 疫苗接种防疫站
  • 修理固定资产取得增值税发票能否抵扣?
  • 结转完工入库产品成本计算
  • 管理费抵扣如何计算
  • 以银行存款退还投资者股金
  • 园林绿化苗木增值税抵扣税率是多少?
  • 接收境外汇款是什么意思
  • 电器以旧换新的套路
  • 印花税计提和缴纳凭证
  • 加工费计入什么费用
  • 耕地建厂房补偿方法
  • 给员工小孩买礼物合适吗
  • win7原版系统安装后没有任何驱动
  • linux多线程运行
  • 三星笔记app功能介绍
  • 泡脚有什么好处和作用
  • 生产企业结账流程
  • 建筑工程给排水的内容
  • 已收到发票未认证已付款怎么做分录
  • Waterfalls at the source of the Mundo River, Sierra de Riopar, Albacete, Spain (© Westend61/Getty Images)
  • 开发商违法
  • 社保缴费基数差1000一般差多少?
  • 计算完工产品成本和在产品成本的方法有哪些
  • 学摄影要交学费吗
  • php时间函数用法代码
  • php学生管理系统设计报告
  • 学电脑的好网站
  • nosql sql
  • sql实例命名规则
  • MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
  • php环境配置教程
  • 现金收入的管理的内容包括哪些
  • sqlserver触发器写法
  • 视同销售但未收到钱怎么做账?
  • 一般纳税人劳务费税率是多少2023
  • 产品成本核算要求有哪几项
  • 鉴证咨询公司
  • 做好成本会计的基础工作主要对企业成本管理有什么意义
  • 营业执照经营范围怎么变更
  • mysql获取数据库表名
  • sql中的存储过程
  • sql里case
  • win8装不了itunes
  • windows帐户登录
  • linux 解析
  • vrvrf.exe是什么进程
  • win10警告
  • mac系统文件名
  • 双系统mac如何从mac系统启动
  • mscorsvw.exe是什么进程
  • rundll32.exe是什么程序
  • win10系统中哪些软件可以删除
  • 写出perl中最常见4种控制流
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • jQuery扩展+xml实现表单验证功能的方法
  • onkeyup,onkeydown和onkeypress的区别介绍
  • Node.js中的全局变量有哪些
  • linux 批量修改
  • unity3d游戏开发书籍
  • 轮播图简单实现
  • 歺包做法
  • pycharm使用教程2022
  • 曲靖市税务局领导班子
  • 在网上如何查询车辆违章
  • 江苏单位医保如何查询
  • 江苏地税局官网网站
  • 慰问金能直接转账吗
  • 地税局和税务局一样吗
  • 年终奖怎么报个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设