js之图片上传

话不多说,直接上干货,注释在代码里面

下面是效果图和代码

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Document</title><style>/* form 表单定位 */.form-upload {width: 200px;height: 200px;border: 1px solid red;margin: 200px auto;position: relative;}/* 相对于form 表单定位 设置提醒文字 位于 第五层 */.form-upload-text {position: absolute;z-index: 5;top: 50%;left: 50%;transform: translate(-50%, -50%);}/* 相对于 form 表单定位 设置 点击范围位于最上层 第十层 */.form-upload-file {position: absolute;z-index: 10;width: 200px;height: 200px;background-color: orange;opacity: 0;}/* 相对于 form 表单 定位设置 位于 文字 与 文件中间展示 第八层 */.form-upload-imgs {position: absolute;z-index: 8;width: 200px;height: 200px;}</style></head><body><form class="form-upload" id="formUpload" action="" method="post" enctype="multipart/form-data"><span class="form-upload-text" id="submitButton">上传图片</span><input type="file" class="form-upload-file" name="image" size="50" onchange="fileChange(this)"><img src="" class="form-upload-imgs" alt=""></form><script>var imgUrl = ''function fileChange(target) {// 点击 input 的时候if (target.tagName === 'INPUT') {// 获取 form 表单的 第一个元素var formData = new FormData($('#formUpload')[0])// 发送 ajax $.ajax({// 类型type: "POST",// url  地址url: "xxxxxxx",// 表单数据data: formData,// 是否异步// async: false,// 请求头设置contentType: false,// processData 默认为true,当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data// 默认情况下会将发送的数据序列化以适应默认的内容类型application/x-www-form-urlencoded// 如果想发送不想转换的的信息的时候需要手动将其设置为falseprocessData: false,// 成功的回调success: function(res) {console.log('图片 ----》 ', res)// 这里是 上传成功后 后台会返回 一个图片的绝对路径imgUrl = res.data.imgUrl// 找到 img 标签设置它的 图片路径$('.form-upload-imgs').attr('src', imgUrl)},// 失败的回调error: function(returndata) {console.log(returndata);}})}}</script></body>
</html>

谢谢大家观看,我是小辉,请大家多多关照

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/17670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[算法][数字][leetcode]2769.找出最大的可达成数字

题目地址 https://leetcode.cn/problems/find-the-maximum-achievable-number/description/ 题目描述 实现代码 class Solution {public int theMaximumAchievableX(int num, int t) {return num2*t;} }

第97天:权限提升-Web 权限权限划分源码后台中间件第三方数据库等

前置知识 具体有哪些权限需要我们了解掌握的 后台权限&#xff0c;网站权限&#xff0c;数据库权限&#xff0c;接口权限&#xff0c;系统权限&#xff0c;域控权限等 以上常见权限获取方法简要归类说明 后台权限&#xff1a;SQL 注入,数据库备份泄露&#xff0c;默认或弱口…

Qt | 内容边距(ContentsMargins)、间距(spacing)和 QSpacerItem 类

01、上节回顾 Qt | 布局管理器基础(QLayout)Qt | 布局部件拉伸(Stretch)原理及大小策略

Python | Leetcode Python题解之第104题二叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution:def maxDepth(self, root: TreeNode) -> int:if not root: return 0queue, res [root], 0while queue:tmp []for node in queue:if node.left: tmp.append(node.left)if node.right: tmp.append(node.right)queue tmp…

Mybatis入门——其他查询操作和数据库连接池(4)

目录 一、多表查询 二、#{} 和 ${} 1、#{} 和 ${} 的使用 &#xff08;1&#xff09;Integer类型的参数 #{} 的使用 ${} 的使用 &#xff08;2&#xff09;使用String类型的参数 #{} 的使用 ${} 的使用 小结&#xff1a; 2、#{} 和 ${} 的区别 &#xff08;1&#…

太阳能语音监控杆(球机LED款)有什么用

传统监控设备依赖电力支持&#xff0c;在偏远地区和没有网络地区难以发挥其作用&#xff0c;而鼎跃安全的太阳能语音监控杆&#xff08;球机LED款&#xff09;在传统监控基础上&#xff0c;进行了全面优化&#xff0c;解决了无电无网区域使用受限的问题。 太阳能语音监控杆&am…

RSC英国皇家化学学会文献查找下载

英国皇家化学学会(Royal Society of Chemistry&#xff0c;简称RSC)是以促进全球化学领域研究发展与传播为宗旨的国际权威学术机构&#xff0c;是化学信息的一个重要宣传机关和出版商。RSC出版的期刊是化学领域的核心期刊&#xff0c;大部分被SCI和MEDLINE收录&#xff0c;如An…

浅谈JMeter作用域

浅谈JMeter作用域 JMeter是一款广泛使用的开源性能测试工具&#xff0c;它能够模拟多用户并发访问Web应用或其他系统的行为&#xff0c;以评估系统的性能和稳定性。在构建测试计划时&#xff0c;理解JMeter中的元件作用域与执行顺序至关重要。本指南将深入解析JMeter的作用域规…

K8s 1.25.4 高可用集群二进制部署(Runtime Containerd)

目录 一、集群环境准备 1.1 主机规划 1.2 软件版本 1.3 网络分配 二、集群部署 2.1主机准备 2.1.1 主机名设置 2.1.2 主机与IP地址解析 2.1.3 主机安全设置 2.1.4 交换分区设置 2.1.5 主机系统时间同步 2.1.6 主机系统优化 2.1.7 ipvs管理工具安装及模块加载 2.1…

腾讯云联络中心ivr调用自定义接口

1&#xff0c;java代码&#xff1a;http接口 RequestMapping(value "/getMsg5", method RequestMethod.POST) public Map<String, String> index(RequestBody Map<String, String> params) {String id params.get("id");HashMap<String…

渗透测试工具Cobalt strike-1.CS介绍与配置

Cobalt Strike是一款美国Red Team开发的渗透测试神器&#xff0c;常被业界人称为CS。最近这个工具大火&#xff0c;成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式&#xff0c;集成了提权&#xff0c;凭据导出&#xff0c;端口转发&#xff0c;socket代理&#x…

目前无法解释的6个物理问题,每一个都困扰科学家很长时间

人类已经对宇宙有了大概的认知&#xff0c;不过即便如此&#xff0c;在宇宙中还有很多我们无法解释的物理问题&#xff0c;下面我们就一起来看看。 第一个无法解释的物理问题——虫洞真的存在吗&#xff1f; 虫洞最早是1916年由奥地利物理学家路德维希.费莱姆首次提出的&#…

登录记住密码背景颜色修改

1&#xff0c;在login.vue中&:-webkit-autofill里面的css替换成如下 &:-webkit-autofill {box-shadow: 0 0 0px 1000px $bg inset !important;-webkit-text-fill-color: $cursor !important;}

【自用题库】2024/华三/H3CNE安全GB0-510

【网工必备】华三H3CNE-安全-510 题库覆盖百分百&#xff0c;题库有291道总结汇总 还有vce加vce文件模拟真实考试环境 到手文件夹5样东西&#xff01;&#xff01;&#xff01; 认证简介&#xff1a;H3CNE-Security&#xff08;H3C Certified Network Engineer For Security&am…

什么是 Git 的 fork 命令?它和 clone 命令有什么区别?

实际上&#xff0c;Git 本身并没有一个名为 fork 的命令。Fork 是一种在代码托管平台(如GitHub、GitLab等)上进行协作开发的概念。 Fork 操作的本质是复制一个仓库到自己的账户下&#xff0c;这样你就能在自己的仓库中进行修改&#xff0c;而不影响原始仓库。当 你对自己仓库中…

6千古诗文必背名句大全ACCESS\EXCEL数据库

古诗&#xff0c;是古代诗歌的一种体裁&#xff0c;又称古体诗或古风&#xff0c;指的是产生于唐代以前并和唐代新出现的近体诗&#xff08;又名今体诗&#xff09;相对的一种诗歌体裁。其特点是格律限制不太严格。 从小我们就被教“熟读唐诗三百首,不会吟诗也会吟”&#xff…

linux环境下重置mysql密码以及1130 is not allowed to解决办法

​ 停止mysql服务 service mysqld stop 使用安全模式登陆&#xff0c;跳过密码验证 mysqld_safe --usermysql --skip-grant-tables --skip-networking& 登录 mysql -uroot mysql 修改密码 password括号内是要设置的密码 USE mysql; UPDATE user SET authentication_stringP…

Ubuntu20.04安装ffmpeg,并捕获视频流

工控机&#xff1a;幻影峡谷 系统&#xff1a;Ubuntu20.04 摄像头&#xff1a;杰瑞微通环星光USB摄像头 安装ffmpeg步骤 依次运行以下命令&#xff1a; sudo apt update sudo apt install ffmpeg安装完成后&#xff0c;通过运行ffmpeg -version来验证安装是否成功&#xf…

Postgresql源码(134)优化器针对volatile函数的排序优化分析

相关 《Postgresql源码&#xff08;133&#xff09;优化器动态规划生成连接路径的实例分析》 上一篇对路径的生成进行了分析&#xff0c;通过make_one_rel最终拿到了一个带着路径的RelOptInfo。本篇针对带volatile函数的排序场景继续分析subquery_planner的后续流程。 subquer…

持续总结中!2024年面试必问 20 道 Rocket MQ面试题(二)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道 Rocket MQ面试题&#xff08;一&#xff09;-CSDN博客 三、NameServer在RocketMQ中的作用&#xff1f; NameServer在RocketMQ中扮演着至关重要的角色&#xff0c;它主要负责集群的元数据管理和服务发现功能…