上传图片
时间:2020-04-18
本文章向大家介绍上传图片,主要包括上传图片使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前端上传图片的原理是:运用<input type=“file” />的标签获取图片信息(file),传给后台,完成上传。
需要页面展示图片的话,可以从接口返回图片地址,放在<img />中
<input type="file" onChange={() => { this.handleUpload(ev.target) }} />
<input type=“file” />的样式不好设置,很难满足样式需求,网上提供几种解决办法,比较好的是设置样式 opcity = 0,使其定位覆盖在按钮之上。
我在开发中觉得依旧不是很好,于是就有了下面的代码:
uploadClick = async () => { const newFile = document.createElement("input"); newFile.setAttribute("type", "file"); newFile.addEventListener("change", () => { this.handleUpload(newFile) }); await newFile.click(); await newFile.remove(); } handleUpload = (newFile) => { const file = newFile.files[0]; // 图片的信息(图片的名称,等) fetch("http://xxxx.xxx", { // 发起请求 method: "post", body: { "multipartFile": file }, Headers: { "userToken": "xxxxxx", // 与后端商量好的请求头 "......": "......" } }).then(res => { if (res.status !== 200) { console.log("上传失败", res) } else { onsole.log("上传成功", res) // 接口返回图片地址,把地址给到 <img src={res.url} /> 进行展示 } }) }
从上面的代码,我们能拿到图片的链接地址,和名称,渲染到页面上就完成了一次上传图片,并且显示
参考文档:雪旭:https://www.cnblogs.com/zimengxiyu/p/11359053.html
原文地址:https://www.cnblogs.com/MrZhujl/p/12726955.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 第015课 NOR Flash操作原理及裸机程序分析
- Redash 二开 - 前端环境搭建
- Verilog Task Concurrent Activation
- then, catch, finally如何影响返回的Promise实例状态
- 第016课 Nand Flash操作原理及裸机程序分析
- 第20课 SPI协议详解及裸机程序开发分析
- 第017课 LCD原理详解及裸机程序分析
- 微信小程序:一文彻底搞懂openid和unionid
- MySQL 最佳实践:程序端连接池配置
- Java获取CPU序列号
- 第018课 ADC和触摸屏硬件原理详解及裸机编程
- Mysql优化概述及其压力测试工具
- 第019课 I2C协议详解及裸机程序分析
- Redis适配采坑记
- 笔记 GWAS 操作流程6-2:手动计算GWAS分析中的GLM和Logistic模型