(前后端交互式)Ajax上传图片 + 更换背景图片
前后端交互图片文件
上传-图片
注意1:上传的图片必须在2MB以内
注意2:服务器端oss(阿里云对象存储)为了安全性,图片url网址不能直接在浏览器地址栏访问
请用img/背景图方式进行使用
上传图片的代码实现
\* 目标:图片上传,显示到网页上
* 1. 获取图片文件
* 2. 使用 FormData 携带图片文件
* 3. 提交到服务器,获取图片url网址使用
// 1.获取选择文件按钮,同时注册一个变化事件document.querySelector('.upload').addEventListener('change', e => {console.log(e.target.files[0])// 2. 使用 FormData 构造函数 携带图片文件夹const imgs = new FormData()// 调用实例对象中 append 方法,传入图片imgs.append('img',e.target.files[0])// 3. 提交到服务器,获取图片url网址使用axios({url: 'http://hmajax.itheima.net/api/uploadimg',method: 'POST',data: imgs}).then(result => {console.log(result.data.data)const imgUrl = result.data.data.urldocument.querySelector('.my-img').src = imgUrl})})
网站背景更换
- 目标:网站-更换背景
-
- 选择图片上传,设置body背景
-
- 上传成功时,"保存"图片url网址
-
- 网页运行后,"获取"url网址使用
- 在上传图片的基础上增加了存储到本地的功能需求,同时没有url返回,不执行更换背景。
//1、选择图片上传,给body设置背景图片
// 1.2 获取按钮进行上传
document.querySelector('.bg-ipt').addEventListener('change', e => {console.log(e.target.files[0])// 表单事件对象const fd = new FormData()fd.append('img' , e.target.files[0])axios({url: 'http://hmajax.itheima.net/api/uploadimg',method: 'POST',data: fd}).then(result => {const res = result.data.data.url// 更换body的背景图document.body.style.backgroundImage = `url(${res})`// 2、上传成功时,"保存"图片url网址 到本地,防止刷新丢失localStorage.setItem('bgImg',res)})
})// 3. 网页运行后,"获取"url网址使用
const bgUrl = localStorage.getItem('bgImg')
console.log(bgUrl)
// 逻辑与中断,本地有服务器提交后的url的话,那么就执行后面的,否则为空值不执行
bgUrl && (document.body.style.backgroundImage = `url(${bgUrl})`)
相关文章:
(前后端交互式)Ajax上传图片 + 更换背景图片
前后端交互图片文件 上传-图片 注意1:上传的图片必须在2MB以内 注意2:服务器端oss(阿里云对象存储)为了安全性,图片url网址不能直接在浏览器地址栏访问 请用img/背景图方式进行使用 上传图片的代码实现 \* 目标&#…...
自媒体常见玩法
有声小说转成视频 题材来源 喜马拉雅 工具 https://trace.moe/ 33台词找台词 文字转视频 题材来源 小说类APP书籍 音乐转视频...
【react】react生命周期钩子函数:
文章目录 一、生命周期概念:二、生命周期:三、挂载阶段(constructor > render > componentDidMount):四、更新阶段(render > componentDidUpdate):五、卸载阶段(componentWillUnmount …...
CRM系统哪些功能可以个性化定制?
不同的企业有着不同的业务流程和需求,因此在选型时就需要一款可以个性化定制的CRM系统。下面说说可以个性化定制的CRM系统的功能和优势。 如何实现个性化定制? Zoho CRM支持个性化定制,您可以创建自定义功能模块、字段以及业务流程…...
51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验二 LED闪烁
目录 前言 一、原理图及知识点介绍 二、代码分析 知识点四:delay(u16 i)这个函数为什么i1时,大约延时10us? 前言 已经是第二个实验了,上一个实验是点亮第一个LED灯,这个实验是LED的闪烁。 一、原理图及知识点介绍…...
PaperEdge 文档图像矫正
效果 地址: https://github.com/cvlab-stonybrook/PaperEdge...
入门NLTK:Python自然语言处理库初级教程
NLTK(Natural Language Toolkit)是一个Python库,用于实现自然语言处理(NLP)的许多任务。NLTK包括一些有用的工具和资源,如文本语料库、词性标注器、语法分析器等。在这篇初级教程中,我们将了解N…...
Android 死机问题学习笔记
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、死机系统简图二、死机的可能原因三、死机问题需要分析哪些数据四 、Java Backtrace 分析五、常见 Java backtrace 举例六、Native Backtrace七、Ke…...
企业内网终端安全无客户端准入控制技术实践
终端无代理/无客户端准入控制技术因其良好的用户体验而倍受创新企业的青睐。无代理/无客户端准入控制技术,顾名思义,是一种在网络中对终端实施访问控制的方法,无需依赖特定的客户端软件。 不同于银行、医院等传统行业的终端准入控制需求&…...
Android 开发代码规范
一. AndroidStudio开发工具规范 使用最新的稳定版本.统一文件的编码格式为utf-8. 清除每个类里面的无效的import导包.代码样式统一,比如,tab缩进4个空格,或者 tab size等如果没有特殊情况使用默认的配置即可。每行字数每行字符数不得超过 160 字符&…...
c语言(函数)
目录 何为函数 库函数 自定义函数 二分查找数组下标 链式访问 函数的声明 函数定义 递归 正向打印数字 打印字符个数 使用临时变量 递归(不使用临时变量) n的阶乘 一般形式 递归 斐波那契数 递归 正常做法 何为函数 在计算机科学中,子程序是一个…...
OPENCV C++(二)直方图+分离颜色通道+画圆画线画矩形
分离RGB彩图颜色通道 也就是把每种分量的亮度图提出来 vector<Mat> channels;split(image1, channels);Mat R channels.at(0);Mat G channels.at(1);Mat B channels.at(2); 这样R,G,B每个图就是这个图的颜色分量图了 图片的克隆,深拷贝! Mat…...
SpringBoot(2.7.x)中使用PageHelper
如何在SpringBoot中使用PageHelper 先添加依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version> </dependency>SpringBoot 2.6.x…...
【HarmonyOS】API9网络buffer图片加载
【引言】 HarmonyOS中加载网络图片常用的方法是直接给Image组件添加图片的网络地址,申请网络权限ohos.permission.INTERNET后就可以通过url加载对应的图片了,如HarmonyOS官网中的写法: Image(https://www.example.com/example.JPG) 【问题概…...
【前端实习生备战秋招】—HTML 和 CSS面试题总结(二)
【前端实习生备战秋招】—HTML 和 CSS面试题总结(二) 1.有哪些方式可以对一个 DOM 设置它的 CSS 样式? 外部样式表,引入一个外部 css 文件内部样式表,将 css 代码放在 <head> 标签内部内联样式,将 c…...
操作系统知识点总结
操作系统知识点总结: 第一章:操作系统概述 1.1操作系统的概念: 操作系统是一种系统软件,与其他系统软件和应用软件不同,它有自己的基本特征。它的四大基本特征也就是并发,共享,虚拟,异步。 1.2操作系统的特征(四大基本特征): 并发: 这里我们要理解什么是并发,什么是…...
(C++) 多线程之生产者消费者问题
文章目录 前言CodeCode运行效果 分解讲解main()class ProducerConsumerProblemproduce()consumer() END 前言 生产者消费者问题_百度百科 (baidu.com) 生产者消费者问题 (英语:Producer-consumer problem),也称有限缓冲问题&…...
【C语言学习】逃逸字符(转义字符)
逃逸字符(转义字符) 1.\" 双引号 \" printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示5英尺7英寸:");这里的"\就是双引号的作用,因为在双引号里面直接用双引号无意义&…...
开发手册|Java后端开发规范重点条目整理
Ps:部分熟知的开发规范未收录在本文中! 一、编程规约 1.1 命名风格 代码中的命名严禁使用拼音与英文混合的方式 alibaba / taobao / youku / hangzhou 等国际通用的名称可视同英文 类名使用大驼峰的形式命名,例如 UpperCameCase 方法、参数…...
c++11 标准模板(STL)(std::basic_ofstream)(二)
定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ifstream : public std::basic_istream<CharT, Traits> 类模板 basic_ifstream 实现文件流上的高层输入操作。它将 std::basic_istrea…...
跨平台网络资源捕获工具:一站式解决视频音频下载难题
跨平台网络资源捕获工具:一站式解决视频音频下载难题 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾在微…...
大学生C语言课设实战:五子棋项目开发避坑指南(附完整源码)
大学生C语言课设实战:五子棋项目开发避坑指南(附完整源码) 五子棋作为经典棋类游戏,是C语言课程设计的常见选题。它不仅涵盖基础语法训练,还能锻炼模块化设计、算法实现和图形交互等核心能力。但在实际开发中…...
Windows任务栏透明化革命:TranslucentTB如何重新定义你的桌面体验
Windows任务栏透明化革命:TranslucentTB如何重新定义你的桌面体验 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否曾盯…...
5步掌握可视化页面构建器:Web Designer低代码设计工具完全指南
5步掌握可视化页面构建器:Web Designer低代码设计工具完全指南 【免费下载链接】web_designer 网页设计器图形化工具,通过拖拽组件进行页面排版和生成页面代码 项目地址: https://gitcode.com/gh_mirrors/we/web_designer Web Designer是一款基于Vue.js开发的…...
次元画室实战:快速生成动漫风AE转场遮罩,让视频更出彩
次元画室实战:快速生成动漫风AE转场遮罩,让视频更出彩 1. 引言:动漫视频转场的痛点与解决方案 每个视频创作者都明白,流畅而富有创意的转场效果能让作品质感提升一个档次。特别是对于动漫风格的视频内容,传统的线性擦…...
S/4 HANA Coding Block字段增强实战:从OXK3配置到CDS View生成的完整避坑指南
1. 为什么需要增强Coding Block字段? 在S/4 HANA项目实施过程中,财务模块的定制化需求几乎不可避免。我遇到过不少客户都提出过这样的需求:"能不能在会计凭证录入界面增加我们公司特有的字段?"比如有些制造业客户需要记…...
Shadcn-Vue完整指南:Vue开发者如何用开源代码构建专属组件库
Shadcn-Vue完整指南:Vue开发者如何用开源代码构建专属组件库 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 你是否厌倦了传统UI库的限制?是否想要一个既美观又完全可控制的Vue组件…...
如何快速解锁Adobe CC全系列软件:Adobe-GenP通用补丁终极指南
如何快速解锁Adobe CC全系列软件:Adobe-GenP通用补丁终极指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 如果你正在寻找一个简单高效的Adobe Creat…...
Unity微信小游戏资源管理实战:用YooAsset的Tag和Group实现‘边玩边下’
Unity微信小游戏资源管理实战:用YooAsset的Tag和Group实现‘边玩边下’ 在微信小游戏开发中,资源加载效率直接影响用户体验。想象一下:玩家首次打开游戏时,如果等待时间过长,很可能直接流失;而将所有资源一…...
从IEDM到ISSCC:一篇顶会论文的诞生与芯片工程师的‘追星’指南
从IEDM到ISSCC:芯片工程师的顶会论文实战指南 去年冬天,我在实验室熬到凌晨三点,终于完成了人生第一篇ISSCC投稿。屏幕上闪烁的"Submit"按钮仿佛在嘲笑我过去365天的挣扎——从复现2019年那篇获得最佳论文奖的PLL设计,…...
