位置: 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)(埃姆雷莫尔)

  • 增加微博粉丝的二十个方法途径(增加微博粉丝的技巧有哪些)

    增加微博粉丝的二十个方法途径(增加微博粉丝的技巧有哪些)

  • 钉钉群不小心移除了怎么恢复(钉钉群不小心移出了怎么办)

    钉钉群不小心移除了怎么恢复(钉钉群不小心移出了怎么办)

  • AirPodspro怎么降噪(airpodspro怎么降噪模式华为)

    AirPodspro怎么降噪(airpodspro怎么降噪模式华为)

  • 华为nova4e有耳机孔吗(华为nova4e耳机孔怎么换)

    华为nova4e有耳机孔吗(华为nova4e耳机孔怎么换)

  • 苹果id突然提示异地登录(苹果id突然提示异地登陆允许)

    苹果id突然提示异地登录(苹果id突然提示异地登陆允许)

  • 快手平台介入需要多久时间审核(快手平台介入需要多长时间)

    快手平台介入需要多久时间审核(快手平台介入需要多长时间)

  • 剪映怎么降噪不成功呢(剪映怎么设置降噪)

    剪映怎么降噪不成功呢(剪映怎么设置降噪)

  • 低级格式化和高级格式化的区别(低级格式化和高级格式化的特点分别是什么)

    低级格式化和高级格式化的区别(低级格式化和高级格式化的特点分别是什么)

  • 企业微信直播如何美颜(企业微信直播如何关闭摄像头)

    企业微信直播如何美颜(企业微信直播如何关闭摄像头)

  • 华为手机拉黑对方后能收到对方信息吗(华为手机拉黑对方电话号码还能收到短信吗?)

    华为手机拉黑对方后能收到对方信息吗(华为手机拉黑对方电话号码还能收到短信吗?)

  • 拼多多砍价可以砍几次(拼多多砍价可以用钱买吗)

    拼多多砍价可以砍几次(拼多多砍价可以用钱买吗)

  • 华为充满电怎么还有闪电标志(华为充电充满)

    华为充满电怎么还有闪电标志(华为充电充满)

  • 荣耀9x怎么唤醒小艺(荣耀手机怎么唤醒yoyo)

    荣耀9x怎么唤醒小艺(荣耀手机怎么唤醒yoyo)

  • 如何更新emui10(如何更新图表目录)

    如何更新emui10(如何更新图表目录)

  • 怎样把电视剧片段保存到相册(怎样把电视剧片段发到火山上)

    怎样把电视剧片段保存到相册(怎样把电视剧片段发到火山上)

  • 卖家账户异常多久恢复(卖家账户异常多久解除)

    卖家账户异常多久恢复(卖家账户异常多久解除)

  • 网络安全攻击的主要表现(网络安全攻击的四种形式)

    网络安全攻击的主要表现(网络安全攻击的四种形式)

  • 为什么pr导入视频变绿(为什么pr导入视频后没有视频)

    为什么pr导入视频变绿(为什么pr导入视频后没有视频)

  • opporeno录屏怎么把语音录进去(opporeno录屏怎么打开)

    opporeno录屏怎么把语音录进去(opporeno录屏怎么打开)

  • 华为手机如何双开微信(华为手机如何双开应用)

    华为手机如何双开微信(华为手机如何双开应用)

  • 苹果la是什么版本(iphonella是什么版本)

    苹果la是什么版本(iphonella是什么版本)

  • WIN10禁用远程控制的方法(w10关闭远程)

    WIN10禁用远程控制的方法(w10关闭远程)

  • 圣克鲁斯岛上的一只岛屿灰狐,加利福尼亚州海峡群岛国家公园 (© Ian Shive/Tandem Motion + Stills)(圣克鲁斯群岛海战百度百科)

    圣克鲁斯岛上的一只岛屿灰狐,加利福尼亚州海峡群岛国家公园 (© Ian Shive/Tandem Motion + Stills)(圣克鲁斯群岛海战百度百科)

  • 商品流通企业税种有哪些
  • 前一年度进项税少记了怎么办
  • 延期缴税申请需要先申报吗?
  • 应付款为什么是负数
  • 金蝶余额调节表怎么看当月的
  • 工程公司的材料员在哪里考试
  • 购进灭火器材怎么入账
  • 安全生产费计提没用可以冲吗
  • 所得税年度纳税申报表 从业人数怎么填
  • 代收污水处理费免税
  • 资产处置损益需要转营业外支出吗
  • 企业总资产是否包含累积折旧
  • 增值税一般纳税人证明文件
  • 购电子承兑汇票差额计入什么科目?
  • 公司牌车还款从哪里扣款
  • 待处理财产损益借贷方向
  • 国债逆回购收益什么时候到账
  • 一般纳税人小型微利企业印花税
  • 营改增后增值税暂行条例实施细则
  • 简易计税方法是什么意思
  • 享受高新技术企业优惠的条件之一
  • 其他应收款如何调平分录
  • 通用申报表个人所得税应税项怎么填
  • 待转销项税额结转分录
  • 免征增值税转入什么科目
  • 法院强制拍卖房子流程
  • 研发费用申报表汇算清缴怎么填
  • 支付销售佣金如何做账
  • 默认网关不可用的解决办法
  • php实现的三个常数是什么
  • php+redis
  • linux怎么操作
  • 代办退税账务处理
  • 提前预支工资怎么报税
  • 工业厂房修建需要哪些手续
  • window10为什么右键就卡住
  • 为什么会产生应收账款
  • file php
  • 补缴企业所得税和滞纳金如何入账
  • 处置固定资产增值税怎么计算
  • 翡翠湾攻略
  • 筹建期间借款费用
  • reactvate
  • 程序人是什么意思
  • 车险开的发票里有代收车船税吗
  • 隔两个月发票如何作废
  • 购买金税盘的费用会计分录
  • 矿产资源补偿费计入税金及附加吗
  • python中dataframe的布尔过滤
  • 印花税步骤
  • 最新个人捐款是什么意思
  • 跨年费用入账
  • 甲方向乙方支付
  • 公司购买股东的东西
  • 工程物资原材料在资产负债表哪个科目体现
  • 发工资摘要没写工资
  • 员工垫付的费用会计分录
  • 凭证过账的步骤
  • 记账凭证先写借方还是贷方
  • 简述什么是实收资本
  • sqlserver的主数据库是什么
  • sql server删除重复数据保留一条
  • win7系统ie浏览器怎么卸载重装
  • Vista下以真正的管理员登陆的设置方法
  • usbmonit.exe - usbmonit是什么进程
  • ubuntu安装chia
  • linux输出结果
  • jQuery+Ajax实现无刷新分页
  • 获取linux命令执行结果
  • 批处理生成excel
  • jquery插件怎么用到自己的网站
  • 如何给textarea赋值
  • python开发技术详解
  • javascript获取当前文件夹文件数量
  • 使用jquery实现的项目
  • 临时税务登记纳税有区域限制吗为什么
  • 北京朝阳税务局办税大厅
  • 东风小康和重庆金康
  • 税务实名认证如何操作
  • 车辆大本怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设