位置: IT常识 - 正文

Vue3中通过 input 标签 发送文件/图片给后端(vue获取input)

编辑:rootadmin
Vue3中通过 input 标签 发送文件/图片给后端

推荐整理分享Vue3中通过 input 标签 发送文件/图片给后端(vue获取input),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue怎样获取input输入的值,vue3中通过ref获取component渲染的动态组件,vue a-input,vue中@input,vue获取input输入框的内容,vue怎样获取input输入的值,vue怎样获取input输入的值,vue3中通过vite创建自定义配置,内容如对您有帮助,希望把文章链接给更多的朋友!

一;设置 input 标签 

<input type="file" ref="fileInput" @change="handleFileChange"/>

1.将 input 标签的 type 属性设置为 file 。

Vue3中通过 input 标签 发送文件/图片给后端(vue获取input)

使用 type="file" 的 <input> 元素使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 Javascript 的 File API 对文件进行操作。

2.绑定 ref 绑定并获取该标签的DOM节点。

type="file" 的 <input> 元素身上存在一个 files 属性,其中包含了所有已选择的文件,其值是一个伪数组。

3.绑定事件,处理文件/图片上传的后续逻辑。

二;通过 FormData 实例对象处理 二进制 文件/图片(以下代码展示上传一张图片)。

// 上传之前要处理一下文件 因为文件是二进制的,要利用 FormData 实例对象进行处理const formData = new FormData();// append方法把文件添加到 FormData实例对象中 第一个参数:文件名 第二个参数:要上传的文件formData.append("smfile", files[0]);

三;获取 input 节点的 files 属性以及上传文件/图片的业务逻辑与请求发送都放在了 input 事件回调函数中进行。

由于是发送二进制数据,所以发送请求时头部字段 Content - type 要设置成 multipart / form-data

// input 发生改变时触发的回调函数 --- 验证上传的文件是否合法,然后处理文件并发送请求 const handleFileChange = (e: Event) => { const currentTarget = e.target as HTMLInputElement; if (currentTarget.files) { // 将input身上的files对象转换为数组类型 const files = Array.from(currentTarget.files); // 如果有上传限制,则对文件进行判断 if (props.beforeUpload) { // 调用判断文件是否合法的函数---由父组件自定义设置 const result = props.beforeUpload(files[0]); // 如果不合法就直接返回出去 if (!result) return; } // 上传的文件符合要求 // 上传成功之前,把上传文件状态改为 loading fileStatus.value = "loading"; // 上传之前要处理一下文件 因为文件是二进制的,要利用 FormData 实例对象进行处理 const formData = new FormData(); // append方法把文件添加到 FormData实例对象中 第一个参数:文件名 第二个参数:要上传的文件 formData.append("smfile", files[0]); // 发送异步请求上传文件 // 因为发送的二进制格式文件 所以要额外设置请求头 axios .post('yes/api/v2/upload', formData, { headers: { "Content-Type": "multipart/form-data", "Authorization":"CiKs2eatBnpdzNJ58T", }, }) .then((res) => { // 图片上传成功 if(res.data.code == 'success') { // 存储成功的返回结果 uploadedData.value = res.data.data.url; }else { uploadedData.value = res.data.images; } // 请求发送成功 修改上传文件状态 fileStatus.value = "success"; // 把获取到的图片url传给父组件 context.emit('getImageUrl',uploadedData.value); }) .catch((e) => { console.log('图床上传',e); fileStatus.value = "error"; }) .finally(() => { if (fileInput.value) { fileInput.value.value = ""; } }); } };
本文链接地址:https://www.jiuchutong.com/zhishi/287974.html 转载请保留说明!

上一篇:yolov5训练并生成rknn模型以及3588平台部署(yolov2训练)

下一篇:埃尔姆利国家自然保护区里的一只文须雀,英格兰肯特郡 (© Mark Bridger/Offset by Shutterstock)(埃姆雷莫尔)

  • 360云盘转存教程(360云盘转存百度云盘)(360云盘转存教程在哪)

    360云盘转存教程(360云盘转存百度云盘)(360云盘转存教程在哪)

  • 腾讯会议私聊主持人看得到吗(腾讯会议私聊主持人视角)

    腾讯会议私聊主持人看得到吗(腾讯会议私聊主持人视角)

  • macbook如何卸载软件(macbook如何卸载第三方软件)

    macbook如何卸载软件(macbook如何卸载第三方软件)

  • 一台笔记本电脑多重(一台笔记本电脑屏幕的面积大约是4)

    一台笔记本电脑多重(一台笔记本电脑屏幕的面积大约是4)

  • 默认工作表的名称为(默认工作表的名称)

    默认工作表的名称为(默认工作表的名称)

  • 滴滴怎么修改目的地(滴滴怎么修改目的)

    滴滴怎么修改目的地(滴滴怎么修改目的)

  • 路由器是不是只要有网线就可以(路由器是不是只能用一次)

    路由器是不是只要有网线就可以(路由器是不是只能用一次)

  • laptop是什么电脑(laptop laptop)

    laptop是什么电脑(laptop laptop)

  • oppo是多少瓦快充(oppo快充功率)

    oppo是多少瓦快充(oppo快充功率)

  • 苹果手机微信自动退出怎么回事(苹果手机微信自动续费功能在哪里关闭)

    苹果手机微信自动退出怎么回事(苹果手机微信自动续费功能在哪里关闭)

  • 拼多多匿名购买好友还能看到吗(拼多多匿名购买拼小圈好友能看到吗)

    拼多多匿名购买好友还能看到吗(拼多多匿名购买拼小圈好友能看到吗)

  • 支付宝联系人删了怎么找回(支付宝联系人删除了怎么找回)

    支付宝联系人删了怎么找回(支付宝联系人删除了怎么找回)

  • oppo手机怎么一键整理桌面(oppo手机怎么一键恢复出厂设置)

    oppo手机怎么一键整理桌面(oppo手机怎么一键恢复出厂设置)

  • 打印机换墨盒后还是显示没墨(打印机换墨盒后灯一直闪)

    打印机换墨盒后还是显示没墨(打印机换墨盒后灯一直闪)

  • 3dtof摄像头是啥(3d视觉摄像头)

    3dtof摄像头是啥(3d视觉摄像头)

  • 微信怎么设置置顶好友(微信怎么设置置顶聊天)

    微信怎么设置置顶好友(微信怎么设置置顶聊天)

  • qq活跃头衔怎么升级(qq活跃头衔怎么变颜色)

    qq活跃头衔怎么升级(qq活跃头衔怎么变颜色)

  • qq等级加速包加多少(qq等级加速包加多少倍)

    qq等级加速包加多少(qq等级加速包加多少倍)

  • 苹果7和8手机壳一样吗(苹果7手机壳和苹果8通用吗)

    苹果7和8手机壳一样吗(苹果7手机壳和苹果8通用吗)

  • cpues版什么意思(cpu的es版本能买吗)

    cpues版什么意思(cpu的es版本能买吗)

  • 如何下载电视剧到手机上(如何下载电视剧在没网的时候观看)

    如何下载电视剧到手机上(如何下载电视剧在没网的时候观看)

  • iphonex有防窥屏功能吗(iphonex防偷窥功能设置)

    iphonex有防窥屏功能吗(iphonex防偷窥功能设置)

  • html超链接文字颜色(html超链接文字位置移动)

    html超链接文字颜色(html超链接文字位置移动)

  • pbbm30什么手机(pbcm30是什么手机型号)

    pbbm30什么手机(pbcm30是什么手机型号)

  • 一体机开机黑屏怎么办(donview一体机开机黑屏)

    一体机开机黑屏怎么办(donview一体机开机黑屏)

  • 进项税额转出就是要多交税吗
  • 公司利润提取如果避税怎么做会计分录?
  • 计提企业所得税分录
  • 税收要素的灵魂
  • 公益组织收到捐赠款计入什么科目
  • 别人公司过账用自己的银行卡会查吗
  • 6月份的申报期是几号
  • 营业外收入怎么结转到本年利润
  • 融资租赁业务的账务处理
  • 土地增值税预征率
  • 预期收益率计算器
  • 工业企业购进货物进项税额抵扣的时限
  • 将产品转为本企业使用
  • 企业留存收益包括盈余公积和未分配利润
  • 对外支付增值税扣缴义务发生时间
  • 电商公司怎么进入
  • 开具增值税专用发票怎么开
  • 小型微利企业所得税优惠政策2023
  • 增票丢失怎么开完税证明
  • 新股东入股怎么写记账凭证摘要
  • 子公司向母公司借款
  • 挂名财务负责人会坐牢吗
  • 积分兑换步骤
  • 局域网文件共享不稳定
  • 进口缴纳的关税通过什么核算
  • 民办非企业年底额度不能低于多少
  • 计提职工薪酬怎么算
  • 一般纳税人税金怎么算
  • 未开票收入跨年可以冲回吗
  • 设置ahci模式后,开不了机
  • php mktime函数
  • videojs自定义按钮
  • 债券转换为普通债权
  • 车辆运输费计入什么科目
  • 冲减管理费用是什么意思
  • spring boot 接受参数
  • 甲产品生产耗用a材料10000千克,单位成本
  • php java c#
  • Symfony2创建页面实例详解
  • 采用定额法计算产品成本,其程序如何?
  • mysql_escape_string()函数用法分析
  • vue3.0用法
  • linux部署tomcat的war包
  • vgremove命令
  • php发送http请求的常用方法分析
  • 用php制作年历
  • 高校教材编写
  • 统一社会信用代码多少
  • 企业之间的借款属于民间借贷吗
  • 服务型公司营业执照图片
  • 3分钟学会做蛋挞
  • 企业所得税季度申报表季度平均值
  • 成本类科目在哪里列式
  • 租入的厂房
  • 代扣税款手续费是什么意思
  • 微信扣除手续费超过多少免费
  • 捐赠利得计入资产成本吗
  • 债务现金流量是正还是负
  • mysql官方监控工具
  • 存储过程怎么理解
  • mysql索引命令
  • windows7字体安装方法
  • xp调出输入法
  • shell检查语法错误
  • 如何查看激活日期苹果
  • winpe 系统还原
  • win8正版系统自带
  • 原生js实现仿苹果Siri语音助手特效动画
  • jquery中获取元素里边内容用什么方法
  • 全志科技在国内芯片界地位
  • cocos2dx-3.1.1 win8+eclipse+android开发 初学者容易迷惑的两个问题
  • ms-sys
  • vue 全局状态
  • ubuntu20.04怎么安装
  • 范冰冰魔范学院杂志可爱公主风
  • 编写javascript代码
  • 云南省新农合网上缴费app
  • 烟草什么品牌好
  • 契税减税、免税条件
  • 工商财税小知识
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设