当前位置: 首页 > news >正文

住房城乡建设网站官网入口seo学校培训课程

住房城乡建设网站官网入口,seo学校培训课程,wordpress add_options_page,医药建设网站需求 将图片、pdf、word、excel等文件进行上传。图片、pdf等调接口A、word、excel等附件调接口B。接口关于文件是base64格式的参数 业务场景 上传资源,区分影像与附件 逻辑思路 使用原生input标签,typefile,进行上传上传后的回调&#x…

需求

图片、pdf、word、excel等文件进行上传。图片、pdf等调接口A、word、excel等附件调接口B。接口关于文件是base64格式的参数

业务场景

上传资源,区分影像与附件

逻辑思路

  1. 使用原生input标签,type='file',进行上传
  2. 上传后的回调,对文件进行分类,影像与附件
  3. 对文件进行base64编码
  4. 执行接口进行上传

代码实现

  1. 点击input进行上传,选择文件后执行onChange回调
<inputtype="file"multipleref={uploadInputRef}onChange={uploadFileOnChange}/>
  1. 对文件进行分类,我这里是通过type去判断的
export const uploadFileOnChange = async (e: ChangeEvent<HTMLInputElement>) => {const files = e.target.files;// 将影像以及附件分类const images: File[] = [];const attachments: File[] = [];for (const iterator of files ?? []) {if (iterator.type.includes('sheet') ||iterator.type.includes('excel') ||iterator.type.includes('csv') ||iterator.type.includes('word')) {attachments.push(iterator);} else {images.push(iterator);}}
};
  1. 对文件进行base64编码
async function readFileAsDataURL(file: Blob) {const result_base64 = await new Promise<string>((resolve) => {const fileReader = new FileReader();fileReader.readAsDataURL(file);fileReader.onload = () =>typeof fileReader.result === 'string' && resolve(fileReader.result);});return result_base64.split('base64,')[1];
}export const uploadFileOnChange = async (e: ChangeEvent<HTMLInputElement>) => {const files = e.target.files;// 将影像以及附件分类const images: File[] = [];const attachments: File[] = [];for (const iterator of files ?? []) {if (iterator.type.includes('sheet') ||iterator.type.includes('excel') ||iterator.type.includes('csv') ||iterator.type.includes('word')) {attachments.push(iterator);} else {images.push(iterator);}}const imageData: ImageData[] = [];const affixData: AffixData[] = [];for (const i of images) {const imgBase64 = await readFileAsDataURL(i);imageData.push({name: i.name,imgBase64,});}for (const i of attachments) {const affixBase64 = await readFileAsDataURL(i);affixData.push({name: i.name,affixBase64,});}return {imageData,affixData,};
};
  1. 拿到上一步返回的数据调接口
http://www.khdw.cn/news/38989.html

相关文章:

  • 朋友圈网站文章怎么做的西安seo王尘宇
  • 网站服务器和空间长沙网站制作费用
  • 搜索引擎推广方式seo优化方案策划书
  • 桂林网站建设内容软文营销的经典案例
  • 省级精品课程网站建设自媒体怎么做
  • 妇幼医院网站建设方案seo培训优化课程
  • 网站开发手机app友情链接查询
  • 一般做美食网站的产品需求湖南平台网站建设设计
  • h5个人网页制作seo关键词排名优化软件
  • 专业网站制作的地方西安网站制作
  • 网页游戏开服表怎么取消日照seo公司
  • 旅游网页模板免费下载东莞优化排名公司
  • 邯郸做网站的博客seo是什么意思新手怎么做seo
  • 求网站开发客户推广营销app
  • 重庆建站网站流程及费用艾滋病阻断药
  • html门户网站开发源代码北京百度推广投诉电话
  • 做购物网站的费用上海网站营销seo电话
  • 各类最牛网站建设如何做网站推广私人
  • 在阿里云做的网站怎么进后台外贸网站推广软件
  • 企业网站模板趋势seo营销推广公司
  • dw做网站时怎么在图片上加字电商网站建设方案
  • 企业网站建站 合肥百度竞价关键词
  • 贵阳建设工程招投标网站被国家禁止访问的网站怎么打开
  • 网站内容页怎么做的公众号软文范例100
  • 网页素材网站有哪些2022年五月份热点事件
  • 怎么做粉丝福利购网站东莞百度推广排名优化
  • 网站做城市地图企业文化理念
  • 北京网站开发建设互联网推广广告
  • 龙华建网站网络建站优化科技
  • 网站设计 尺寸唐山seo排名