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

  • 财产租赁所得怎么交税
  • 关税计算怎么算?
  • 公司会计日常工作内容
  • 个人所得税孩子小学升初中要修改吗?
  • 内账月末怎样结转
  • 普票销项负数发票
  • 汇算清缴退款怎么入账
  • 防伪税控业务
  • 会计集中核算模式
  • 票据的融资
  • 股权投资基金账户有监管吗
  • 未到期责任准备金计算方法
  • 人力资源外包服务规范
  • 利润表中企业所得税
  • 运输增值税专票含税价怎么算
  • 税务登记号就是发票吗
  • 增值税计入无形资产的入账价值吗?
  • 冲减增值税销项税额
  • 开发票时含税和不含税是什么意思?
  • 运费计入采购成本会计分录
  • 印花税的征收范围
  • 文化事业税收优惠政策
  • 结算银行贷款利息用什么凭证
  • 税金当月计提当月缴纳
  • 1697510552
  • 已经认证抵扣的发票会计分录
  • 物业公司收取的广告费开什么发票
  • 健康检查查询系统
  • 公司纳税高说明什么
  • 弃置费用预计负债的会计处理
  • 如何备份计算机的注册表
  • w10引导修复工具
  • 进口应税消费品会计分录
  • 进项税额转出会计分录福利费
  • 营改增的会计分录
  • 小规模纳税人差额征税
  • 工程施工与工程结算会计科目
  • 黄石国家公园的建立意义
  • 存货非正常损失进项税额转出
  • php比较大小
  • 股东借款转增资本公积要验资吗
  • 自产自销农产品免税备案取消
  • 税金及附加也是费用吗
  • 企业发生待摊费会计分录
  • mongodb 教程
  • 批处理命令在windows操作中的典型应用
  • mysql同步复制搭建方法指南详细步骤
  • 公司固定资产抵押贷款无法偿还
  • 企业所得税的亏损弥补怎么算
  • 劳务费个税账务处理办法
  • 直接人工成本包括管理人员开的工资吗
  • 主营业务成本带二级科目吗
  • 非贸付汇计税基础
  • 盘盈盘亏做好记录这句好怎么说
  • 企业发票冲红的风险
  • 一般纳税人购买固定资产进项税可以抵扣吗
  • sql2005开启xp_cmdshell
  • 一些有用的sql语句是什么
  • 电脑怎么安装安全控件
  • winxp系统用户不见了
  • linux怎么那么难用
  • win10更新中重启会怎么样
  • node.js环境搭建
  • android属性动画
  • linux shell条件判断语句
  • shell字符串截取加替换
  • js制作倒计时
  • 使用jquery实现表单验证
  • unity 游戏保存
  • Android 添加数据到本地Excel表
  • 安卓样式大全
  • python生成pyc
  • jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
  • js中!
  • 重新加载activity
  • 个税申报系统如何增加新单位
  • 个人所得税自行纳税申报表(A表)
  • 中医药文化进校园活动
  • 青岛市税务管理局
  • 四川企业退休人员80岁高龄补贴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设