文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

(前后端交互式)Ajax上传图片 + 更换背景图片

2023-09-21 17:03

关注

前后端交互图片文件

上传-图片

注意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.url        document.querySelector('.my-img').src = imgUrl      })    })

网站背景更换

  • 目标:网站-更换背景

  • 在上传图片的基础上增加了存储到本地的功能需求,同时没有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})`)

来源地址:https://blog.csdn.net/Forever_Hopeful/article/details/132067828

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯