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

大型网站快速排名在线设计公司logo图标

大型网站快速排名,在线设计公司logo图标,wordpress构建,微信第三方网站怎么做特别说明:ui框架使用的是蚂蚁的antd 这里主要是学习前端上传接口的传递参数包括前端上传之前对于代码的整理 一、第一步将前端页面画出来 源代码: /** 费用管理 - IT费用管理 - 费用数据上传 */ import { useState } from "react"; import {…

特别说明:ui框架使用的是蚂蚁的antd 这里主要是学习前端上传接口的传递参数包括前端上传之前对于代码的整理

一、第一步将前端页面画出来
在这里插入图片描述
源代码:

/** 费用管理 - IT费用管理 - 费用数据上传 */
import { useState } from "react";
import { WARNING_INFO } from "@/constants";
import { InboxOutlined } from "@ant-design/icons";
import { Button, Card, DatePicker, message, Spin, Upload, UploadProps } from "antd";
import dayjs from 'dayjs'
import './index.less'
import { ITDataUpload } from "@/services/costControl";const DataUpload = () => {const [loading, setLoading] = useState<boolean>(false);const [fileList, setFileList] = useState<any>([]); //上传的文件列表const [dateString, setDateString] = useState<string>(''); // 数据日期// 文件组件属性const uploadProps: UploadProps = {multiple: false,maxCount: 1,onChange(info) {},beforeUpload: (file) => {console.log('上传文件', file);const regExp = /^.*\.(?:xls|xlsx)$/iconst isExcel = regExp.test(file.name)if (!isExcel) {message.error(WARNING_INFO.EXCEL_INFO);return Upload.LIST_IGNORE}// if (file.size > 1024 * 1024 * 10) {//     message.error(`${file.name}大小不能超过10M`);//     return Upload.LIST_IGNORE;// }// 通过校验开始上传setFileList([file])// 阻止自动上传return false;},onRemove: () => {//console.log('删除');setFileList([])},onDrop(e) {//console.log('Dropped files', e.dataTransfer.files);},};const handleUpload = async (fileList: any) => {if (!dateString) {message.error('请选择数据日期')} else {//console.log('时间',dateString);//console.log('文件',fileList);try {setLoading(true);let res = await ITDataUpload({ date: dateString, file: fileList })//console.log('上传文件res', res);if (res?.code == 200) {message.success('数据文件上传成功')setLoading(false);setFileList([])setDateString('')} else {message.error('数据文件上传失败')setLoading(false);}} catch {setLoading(false);}}}const onChange = (date: any, dateString: any) => {setDateString(dayjs(dateString, 'YYYY-MM').format("YYYY-MM-01"))}return (<Spin tip="loading..." spinning={loading}><Card bordered={false} style={{ width: '100%', minHeight: 'calc(100vh - 196px)', paddingTop: '60px', paddingLeft: '80px' }}><div className="dateControl"><span className="title">数据日期:</span><DatePickeronChange={onChange}style={{ width: 200 }}picker="month"value={dateString ? dayjs(dateString) : ''} /></div><div className='uploadAndDownload'><span>上传文件:</span><Upload.Dragger {...uploadProps}fileList={fileList}className="draggerStyle"><p className="ant-upload-drag-icon"><InboxOutlined /></p><p className="ant-upload-text">点击或者将文件拖拽到这里上传</p><p style={{ color: '#0000006e' }}>支持扩展名:xlsx,xls</p></Upload.Dragger></div><div className='buttonOption'><Button type="primary" onClick={() => {//console.log('点击提交', fileList);if (fileList.length > 0) {handleUpload(fileList[0])} else {message.error('请上传文件!')}}}>提交</Button><Button onClick={() => {//console.log('点击重置');setFileList([])setDateString('')}}>重置</Button></div></Card></Spin>)
}export default DataUpload

二、第二步将封装上传接口的函数整理出来(这个是核心)

在这里插入图片描述
源码:

 const handleUpload = async (fileList: any) => {if (!dateString) {message.error('请选择数据日期')} else {//console.log('时间',dateString);//console.log('文件',fileList);try {setLoading(true);let res = await ITDataUpload({ date: dateString, file: fileList })//console.log('上传文件res', res);if (res?.code == 200) {message.success('数据文件上传成功')setLoading(false);setFileList([])setDateString('')} else {message.error('数据文件上传失败')setLoading(false);}} catch {setLoading(false);}}}

三、第三步将封装的接口弄明白
在这里插入图片描述
源代码:

export const ITDataUpload = async (data: any) => {return request(costControlApi.ITDataUpload, {method: 'POST',data,headers: { 'Content-Type': 'multipart/form-data' },requestType: 'form',})
}

四、第四步将上传接口弄明白
在这里插入图片描述
五、第五步将上传结果演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🆗呀,这个就是整个的前端部分的文件上传,需要注意的是对上传接口的处理,其它的倒没有什么,相对于文件下载需要对接收到的数据流还要处理而言,整个文件上传还是异常简单的有没有感觉到。

http://www.yayakq.cn/news/912689/

相关文章:

  • 沈阳网站开发培训网易企业邮箱怎么发送文件
  • 廊坊网站建设模板应用软件开发工程师
  • 昆明网站建设php网站服务器费用明细
  • 长沙专业网站制作设计贵州黔序科技有限公司
  • 《网站开发实训》实验报告关于汽车的网站
  • 做苗木网站哪家好海外购物商城
  • 北京住房建设部网站首页linux 转换wordpress
  • 郑州网站制作哪家招聘食品网站的网页设计
  • 郑州做网站的多不多互联网营销师证书是国家认可的吗
  • 搞笑网站建设目的和意义中国做国外的网站
  • 无锡网站的优化哪家好北京工厂网站建设
  • 天津 网站开发网络游戏代理
  • 青岛网站建设 熊掌号深圳龙岗网站建设公司哪家好
  • 营销型网站建设ppt模板网站推广每天必做的流程
  • 阜城县网站建设phpstuy wordpress
  • 网站开发招聘信息外链怎么打开
  • 政务公开网站建设的亮点和建议虚拟主机怎么建设网站
  • 建设网站有哪些参考文献某个产品营销推广方案
  • 建设银行征信中心网站百度怎么发自己的小广告
  • 自己建网站怎么赚钱萧山区住房和城乡建设局网站
  • 外贸建站cms网站用模板为什么不利于seo推广
  • 搞个网站要多少钱怎么在wordpress建英文网站
  • 自己创业做原公司一样的网站成都网站游戏设计
  • 定制网站前准备抖音代运营招标
  • 网站建设与管理的条件市场营销专业就业方向
  • 成都青白江网站建设营销网站如何实现差异化
  • 注册网站会有哪些风险梅州市城乡建设部网站首页
  • 网站开发年度总结工作微信app下载安装官方版2022网址
  • 莱芜网站优化团队付费腾讯企业邮箱入口
  • 网站建设的常用技术有哪些云网站制作的流程