当前位置: 首页 > news >正文

(前后端交互式)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})})

网站背景更换

  • 目标:网站-更换背景
    1. 选择图片上传,设置body背景
    1. 上传成功时,"保存"图片url网址
    1. 网页运行后,"获取"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支持个性化定制,您可以创建自定义功能模块、字段以及业务流程&#xf…...

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每个图就是这个图的颜色分量图了 图片的克隆&#xff0c;深拷贝&#xff01; 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组件添加图片的网络地址&#xff0c;申请网络权限ohos.permission.INTERNET后就可以通过url加载对应的图片了&#xff0c;如HarmonyOS官网中的写法&#xff1a; Image(https://www.example.com/example.JPG) 【问题概…...

【前端实习生备战秋招】—HTML 和 CSS面试题总结(二)

【前端实习生备战秋招】—HTML 和 CSS面试题总结&#xff08;二&#xff09; 1.有哪些方式可以对一个 DOM 设置它的 CSS 样式&#xff1f; 外部样式表&#xff0c;引入一个外部 css 文件内部样式表&#xff0c;将 css 代码放在 <head> 标签内部内联样式&#xff0c;将 c…...

操作系统知识点总结

操作系统知识点总结: 第一章:操作系统概述 1.1操作系统的概念: ​ 操作系统是一种系统软件,与其他系统软件和应用软件不同,它有自己的基本特征。它的四大基本特征也就是并发,共享,虚拟,异步。 1.2操作系统的特征(四大基本特征): 并发: 这里我们要理解什么是并发,什么是…...

(C++) 多线程之生产者消费者问题

文章目录 前言CodeCode运行效果 分解讲解main()class ProducerConsumerProblemproduce()consumer() END 前言 生产者消费者问题_百度百科 (baidu.com) 生产者消费者问题 &#xff08;英语&#xff1a;Producer-consumer problem&#xff09;&#xff0c;也称有限缓冲问题&…...

【C语言学习】逃逸字符(转义字符)

逃逸字符&#xff08;转义字符&#xff09; 1.\" 双引号 \" printf("请分别输入身高的英尺和英寸&#xff0c;""如输入\"5 7\"表示5英尺7英寸:");这里的"\就是双引号的作用&#xff0c;因为在双引号里面直接用双引号无意义&…...

开发手册|Java后端开发规范重点条目整理

Ps&#xff1a;部分熟知的开发规范未收录在本文中&#xff01; 一、编程规约 1.1 命名风格 代码中的命名严禁使用拼音与英文混合的方式 alibaba / taobao / youku / hangzhou 等国际通用的名称可视同英文 类名使用大驼峰的形式命名&#xff0c;例如 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…...

跨平台网络资源捕获工具:一站式解决视频音频下载难题

跨平台网络资源捕获工具&#xff1a;一站式解决视频音频下载难题 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾在微…...

大学生C语言课设实战:五子棋项目开发避坑指南(附完整源码)

大学生C语言课设实战&#xff1a;五子棋项目开发避坑指南&#xff08;附完整源码&#xff09; 五子棋作为经典棋类游戏&#xff0c;是C语言课程设计的常见选题。它不仅涵盖基础语法训练&#xff0c;还能锻炼模块化设计、算法实现和图形交互等核心能力。但在实际开发中&#xf…...

Windows任务栏透明化革命:TranslucentTB如何重新定义你的桌面体验

Windows任务栏透明化革命&#xff1a;TranslucentTB如何重新定义你的桌面体验 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否曾盯…...

5步掌握可视化页面构建器:Web Designer低代码设计工具完全指南

5步掌握可视化页面构建器&#xff1a;Web Designer低代码设计工具完全指南 【免费下载链接】web_designer 网页设计器图形化工具,通过拖拽组件进行页面排版和生成页面代码 项目地址: https://gitcode.com/gh_mirrors/we/web_designer Web Designer是一款基于Vue.js开发的…...

次元画室实战:快速生成动漫风AE转场遮罩,让视频更出彩

次元画室实战&#xff1a;快速生成动漫风AE转场遮罩&#xff0c;让视频更出彩 1. 引言&#xff1a;动漫视频转场的痛点与解决方案 每个视频创作者都明白&#xff0c;流畅而富有创意的转场效果能让作品质感提升一个档次。特别是对于动漫风格的视频内容&#xff0c;传统的线性擦…...

S/4 HANA Coding Block字段增强实战:从OXK3配置到CDS View生成的完整避坑指南

1. 为什么需要增强Coding Block字段&#xff1f; 在S/4 HANA项目实施过程中&#xff0c;财务模块的定制化需求几乎不可避免。我遇到过不少客户都提出过这样的需求&#xff1a;"能不能在会计凭证录入界面增加我们公司特有的字段&#xff1f;"比如有些制造业客户需要记…...

Shadcn-Vue完整指南:Vue开发者如何用开源代码构建专属组件库

Shadcn-Vue完整指南&#xff1a;Vue开发者如何用开源代码构建专属组件库 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 你是否厌倦了传统UI库的限制&#xff1f;是否想要一个既美观又完全可控制的Vue组件…...

如何快速解锁Adobe CC全系列软件:Adobe-GenP通用补丁终极指南

如何快速解锁Adobe CC全系列软件&#xff1a;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微信小游戏资源管理实战&#xff1a;用YooAsset的Tag和Group实现‘边玩边下’ 在微信小游戏开发中&#xff0c;资源加载效率直接影响用户体验。想象一下&#xff1a;玩家首次打开游戏时&#xff0c;如果等待时间过长&#xff0c;很可能直接流失&#xff1b;而将所有资源一…...

从IEDM到ISSCC:一篇顶会论文的诞生与芯片工程师的‘追星’指南

从IEDM到ISSCC&#xff1a;芯片工程师的顶会论文实战指南 去年冬天&#xff0c;我在实验室熬到凌晨三点&#xff0c;终于完成了人生第一篇ISSCC投稿。屏幕上闪烁的"Submit"按钮仿佛在嘲笑我过去365天的挣扎——从复现2019年那篇获得最佳论文奖的PLL设计&#xff0c;…...