国产成人无码一区二区三区在线_亚洲一区二区三区精品在线_国严精品久久久久久亚洲影视 _国产精品福利在线播放_中文字幕av导航_玉米视频成人免费看_国产v亚洲v天堂无码久久久_一区二区三区资源_免费成人深夜夜行视频_国产在线观看成人_一区二区三区产品免费精品久久75_国产国语videosex另类

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

react怎么實現(xiàn)文件上傳

react實現(xiàn)文件上傳的方法:1、通過“import { Table, Button, Modal, Form, Input, Upload, Icon, notification } from 'antd';”引入所需antd的部件;2、通過“handleOk = e => {const { fileList } = this.state…}”實現(xiàn)提交表單并上傳文件即可。

react怎么實現(xiàn)文件上傳

本教程操作環(huán)境:Windows10系統(tǒng)、react18.0.0版、Dell G3電腦。

react怎么實現(xiàn)文件上傳?

react使用antd實現(xiàn)手動上傳文件(提交表單)

前言:最近在做一個后臺管理項目涉及到上傳文件,使用antd里的Upload實現(xiàn)上傳文件。記錄一下遇到的問題和坑。

1.要實現(xiàn)的效果

react怎么實現(xiàn)文件上傳

我要實現(xiàn)的效果就是點擊上傳文件,選擇完文件后點擊ok(也就是提交表單后在上傳)其實就是手動上傳文件。下面我來介紹一下我的做法和我遇到的一些坑。

2.實現(xiàn)步驟

1.引入所需antd的部件

import { Table, Button, Modal, Form, Input, Upload, Icon, notification } from 'antd';
登錄后復制

這個是表單的

 <Modal           title="文件上傳"           visible={this.state.visible}           onOk={this.handleOk} //點擊按鈕提價表單并上傳文件           onCancel={this.handleCancel}         >           <Form layout="vertical" onSubmit={this.handleSubmit}>             <Form.Item>               <div  key={Math.random()}>//點擊關(guān)閉在次打開還會有上次上傳文件的緩存                 <Upload {...props}>                   <Button type="primary">                     <Icon type="upload" />選擇文件                  </Button>                 </Upload>                 </div>             </Form.Item>             <Form.Item label="文件名(可更改)">               {getFieldDecorator('filename', {                 // initialValue:this.state.defEmail,                 rules: [                   {                     message: '請輸入正確的文件名',                     // pattern: /^[0-9]+$/,                   },                   {                     required: true,                     message: '請輸入文件名',                   },                 ],               })(<Input />)}             </Form.Item>             <Form.Item label="描述(選填)">               {getFieldDecorator('describe', {                   rules: [                   {                     message: '描述不能為空',                   },                   {                     required: false,                     message: '請輸入描述',                   },                 ],               })(<TextArea />)}             </Form.Item>             <Form.Item label="文件類型">               {getFieldDecorator('filetype', {                 rules: [                   {                     message: '文件類型',                   },                   {                     required: true,                     message: '文件類型',                   },                 ],               })(<Input disabled={true} />)}             </Form.Item>           </Form>         </Modal>
登錄后復制

下面的代碼是Upload的props

  const props = {       showUploadList: true,       onRemove: file => {         this.setState(state => {           const index = state.fileList.indexOf(file);           const newFileList = state.fileList.slice();           newFileList.splice(index, 1);           return {             fileList: newFileList,           };         });       },       beforeUpload: file => {         console.log(file)         let { name } = file;         var fileExtension = name.substring(name.lastIndexOf('.') + 1);//截取文件后綴名         this.props.form.setFieldsValue({ 'filename': name, 'filetype': fileExtension });//選擇完文件后把文件名和后綴名自動填入表單         this.setState(state => ({           fileList: [...state.fileList, file],         }));         return false;       },       fileList,     };
登錄后復制

下面是重點提交表單并上傳文件

handleOk = e => {//點擊ok確認上傳     const { fileList } = this.state;     let formData = new FormData();     fileList.forEach(file => {       formData.append('file', file);     });       this.props.form.validateFields((err, values) => { //獲取表單值       let { filename, filetype, describe } = values;       formData.append('name', filename);       formData.append('type', filetype);       formData.append("dir", "1");       if(describe==undefined){         formData.append('description',"");       }else{         formData.append('description',describe);       }              UploadFile(formData).then(res => { //這個是請求         if (res.status == 200 && res.data != undefined) {           notification.success({             message: "上傳成功",             description: res.data,           });         } else {           notification.error({             message: "上傳失敗",             description: res.status,           });         }       })       this.setState({         visible: false       });       })   };
登錄后復制

注意我用的axios,post必須使用formData.append("接口參數(shù)名",“要傳的值”);如果不想用axios還可以用別的請求

fetch(url, { //fetch請求         method: 'POST',         body: formData,     })                   axios({ //axios         method: 'post',         url: url,         data: formData,         headers:{ //可加可不加           'Content-Type': 'multipart/form-data; boundary=----             WebKitFormBoundary6jwpHyBuz5iALV7b'         }     })     .then(function (response) {         console.log(response);     })     .catch(function (error) {         console.log(error);     });
登錄后復制

這樣就能實現(xiàn)手動上傳文件了。

3.遇到的坑

第一次選擇完文件,點擊上傳。第二次在打開Model發(fā)現(xiàn)上回的文件列表還在,我在網(wǎng)上找的方法是給upload及一個key值但只有點擊ok后第二次打開Model緩存才會消失,但是點擊canel還會存在。

<div key={Math.random()}>                 <Upload  {...props}>                   <Button type="primary">                     <Icon type="upload" />選擇文件                  </Button>                 </Upload>                 </div>
登錄后復制

最好的方法就是this.setState把state里文件列表置空

 this.props.form.resetFields()//添加之前把input值清空     this.setState({       visible: true,       fileList: [] //把文件列表清空     });
登錄后復制

也可以給Modal加一個 destroyOnClose 屬性 關(guān)閉時銷毀 Modal 里的子元素

推薦學習:《react視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国产麻豆精品一区二区| 2021国产精品视频| 国产成人av电影在线| 亚洲综合精品国产一区二区三区| gogo亚洲国模私拍人体| 大片在线观看网站免费收看| 国产精品免费视频一区二区| 欧美影院在线播放| 久久久av亚洲男天堂| 精品亚洲va在线va天堂资源站| 精品国产老师黑色丝袜高跟鞋| 91在线看国产| 国产精品99久久不卡二区| 国产小视频免费观看| 无码久久精品国产亚洲av影片| 九九热最新地址| 少妇人妻好深好紧精品无码| 日本高清一区二区视频| 精品少妇无遮挡毛片| 一本久道高清无码视频| 日韩精品一区二区三区色偷偷| 97在线电影| 91视频-88av| 国产精品三级在线| 国产精品久久久久久久9999| 秋霞成人午夜鲁丝一区二区三区| 欧美精品一区二区三区国产精品 | 久久亚洲精品视频| 日韩精品视频在线观看免费| 亚洲国产天堂久久综合| 日韩精品中文字幕在线观看 | 黄色成人av网| 色综合久久中文字幕| 一本久道久久综合中文字幕| 欧美日韩另类视频| 在线中文字幕一区| 日韩一区二区三区精品视频 | 精品无码人妻一区二区免费蜜桃 | 亚洲人成免费电影| 中文字幕日韩精品在线| 欧美激情一区二区三区成人| 欧美激情一区二区三区高清视频| 69视频在线免费观看| 日本一本a高清免费不卡| 国产日本欧美一区二区三区| 99在线视频播放| 久久久久久欧美精品色一二三四| 日本一区二区三区免费观看| 国内外成人激情免费视频| av在线观看地址| 亚洲一区日韩精品| 欧美日韩人妻精品一区在线| ass极品国模人体欣赏| 青青操国产视频| 在线观看日批视频| 蜜桃在线一区二区三区| zzijzzij亚洲日本少妇熟睡| 国产精品护士白丝一区av| 亚洲五码中文字幕| 欧美一级精品大片| 日韩视频在线一区| 国产99在线|中文| 国产一区自拍视频| 成人一区二区免费视频| 亚洲欧洲日本精品| 四虎成人免费影院| 中文天堂在线资源| 激情综合网最新| 国产精品久久久久婷婷二区次| 欧美午夜www高清视频| 亚洲精品久久久一区二区三区| 欧美黑人极品猛少妇色xxxxx| 成人信息集中地欧美| 天天综合中文字幕| 一二三区视频在线观看| 日韩免费视频网站| 天天干,天天操,天天射| 国产午夜精品一区二区三区嫩草| 在线观看亚洲精品视频| 久久久av亚洲男天堂| 亚洲自拍偷拍网址| 久久无码高潮喷水| 成人性生活毛片| 亚洲精品久久久久久久久久| 丁香五精品蜜臀久久久久99网站 | 三级欧美韩日大片在线看| caoporn国产精品| 精品久久久视频| 亚洲一级免费视频| 亚洲自拍中文字幕| 中文字幕欧美人妻精品一区| 久草视频手机在线| 美国一区二区三区在线播放 | 少妇高潮一区二区三区喷水| 国产丰满果冻videossex| 91一区一区三区| 在线播放/欧美激情| 国内精品久久久久久久久| 蜜桃视频在线观看成人| 杨幂一区二区国产精品| 成人一级免费视频| 国产丝袜欧美中文另类| 亚洲第一区中文99精品| 亚洲一区二区三区sesese| 日本新janpanese乱熟| 天天综合天天做| 精品无码三级在线观看视频| 欧美日韩激情小视频| 久99久在线视频| 日本丰满大乳奶| 国产精品成人在线视频| 天堂资源在线中文精品| 午夜精品久久久久影视| 久久久久久久久久av| 天天综合中文字幕| 午夜69成人做爰视频| 精品一区二区三区免费观看| 欧美性色综合网| 国产日韩欧美成人| 午夜影院免费版| www日本高清| 欧美性猛交xxxx黑人猛交| 97人人模人人爽人人喊中文字| 强开小嫩苞一区二区三区网站| 污软件在线观看| jvid福利写真一区二区三区| 亚洲精品中文字幕女同| 日韩av在线电影观看| 欧美另类z0zx974| 成人永久免费视频| 亚洲天堂免费在线| www.黄色网址.com| 欧美激情黑白配| 亚洲一区二区三区中文字幕 | 欧美国产精品一区二区三区| 中日韩美女免费视频网址在线观看| 亚洲自拍三区| 毛片基地在线观看| 亚洲人成网站精品片在线观看| 欧美麻豆久久久久久中文| 欧美 丝袜 自拍 制服 另类| 久久精品99北条麻妃| 亚洲欧美成aⅴ人在线观看| 久久男人av资源网站| 天堂视频免费看| 人妻少妇精品无码专区| 67194成人在线观看| 久久久7777| 国产无套粉嫩白浆内谢| 亚洲免费毛片网站| 亚洲一区中文字幕| 国产精品免费人成网站酒店| 欧美激情一区二区三区四区| 久久人人爽人人爽人人片av高请| www.久久91| 国产美女精品人人做人人爽 | 久草免费在线观看视频| 国产精品九色蝌蚪自拍| 国产精品久久av| 欧美做受喷浆在线观看| 不卡av在线免费观看| 色综合五月天导航| 久久无码人妻一区二区三区| 国产一区二区三区免费观看| 日韩在线视频观看| 激情成人在线观看| 成人三级伦理片| 97人人爽人人喊人人模波多| 国产白嫩美女无套久久| www成人在线观看| 国产精品18久久久久久麻辣| 性爱在线免费视频| 亚洲综合在线第一页| 国产综合 伊人色| 国产精品免费av一区二区| 精品久久久久久久久久| 色女人综合av| 精品人妻aV中文字幕乱码色欲| 精品少妇一区二区三区免费观看 | 成年人在线观看视频免费| 日本亚洲欧美天堂免费| 久久精品国产欧美亚洲人人爽| 少妇欧美激情一区二区三区| 2020国产精品自拍| www.成人三级视频| 一级久久久久久久| 亚洲激情自拍图| 三级一区二区三区| 国产精品美女一区二区在线观看| 高清视频在线观看一区| 一区二区自拍偷拍| 在线国产精品视频| wwwwxxxx国产| 大桥未久av一区二区三区| 大桥未久一区二区三区| 精品一区二区在线视频| 国产精品黄色av| 国产亚洲欧美在线精品| 亚洲精品国产品国语在线| www.日本久久| 亚洲精品国产一区二区精华液 | 三级黄色录像视频| 欧美午夜一区二区| 日韩免费毛片视频| 久久亚洲精品小早川怜子| 狠狠色综合色区| 亚洲免费一级片| 欧美激情亚洲激情| 在线天堂中文字幕| 在线电影av不卡网址| 久久久久久国产免费a片| 欧美系列一区二区| 深夜福利网站在线观看| 亚洲情趣在线观看| www.日本三级| 久久久久久亚洲综合| 日本在线观看一区| 精品制服美女丁香| 国产麻豆乱码精品一区二区三区| 六月丁香综合网| 国产aaa精品| www.xxxx国产| 国产精品视频导航| 亚洲AV无码精品国产| 国产成+人+综合+亚洲欧洲 | 日韩中文字幕区一区有砖一区| 97成人在线视频| 日日噜噜噜噜人人爽亚洲精品| 夜夜嗨av一区二区三区免费区 | 日韩有码在线观看| 欧美成人一二三区| 中文字幕精品国产| 日韩精品国产一区二区| 日韩中文字幕在线观看| 久热这里只有精品6| 日韩网站在线观看| 国产一级片毛片| 欧美成人在线免费视频| 中国女人真人一级毛片| 88国产精品欧美一区二区三区| 国产精品国产一区二区三区四区| 91精品国产高清| 亚洲黄色一级大片| 国产91精品入口17c| 国产成人免费视频一区| 熟女熟妇伦久久影院毛片一区二区| 久久久夜色精品亚洲| 香港三级韩国三级日本三级| 亚洲观看高清完整版在线观看| 在线观看免费视频污| 日韩欧美电影一区| 亚洲综合网在线| 韩国精品美女www爽爽爽视频| 97在线视频人妻无码| 国产精品免费久久久| 久久综合九色| 致1999电视剧免费观看策驰影院| 欧美经典一区二区| 国产欧美精品一二三| 日韩欧美一级特黄在线播放| 69av.com| 国产97在线视频| 国产一区二区三区四| 免费看日本黄色| 欧美视频在线观看免费| 九九九视频在线观看| 欧美巨乳在线观看| 亚洲人成色777777精品音频| 日本不卡一区二区三区在线观看| 国产精品欧美精品| www.四虎精品| 俺去了亚洲欧美日韩| 蜜桃在线一区二区| 亚洲五月六月| 午夜精品免费在线观看| 国产极品视频在线观看| 久久久久久久久久久人体| 热久久一区二区| 欧美精品自拍视频| 日韩亚洲欧美中文三级| 中文字幕手机在线视频| 九色一区二区| 狠狠色香婷婷久久亚洲精品| 玖玖爱免费视频| 99精品国产高清一区二区| 国产精品久久久久国产精品日日| 天天插天天射天天干| 欧美成aaa人片在线观看蜜臀| 肉肉av福利一精品导航| 亚洲熟妇国产熟妇肥婆| 欧美大片在线观看| 精品人妻午夜一区二区三区四区| 亚洲精品国产精品国自产| 欧美性69xxxx肥| 精品免费囯产一区二区三区| 美女主播视频一区| 91官网在线观看| 乱子伦一区二区三区| 亚洲国产欧美日韩| 欧美日韩国产综合一区二区三区 | 91精品国产91久久久久久久久| 国产91在线|亚洲| 97超碰人人看| 欧美成人手机在线| 北条麻妃国产九九精品视频| 一级日本黄色片| 国语自产偷拍精品视频偷 | 欧美激情精品久久久久久免费印度| 天堂网在线观看视频| 欧美黄色免费影院| 最好看的2019的中文字幕视频| 久久se精品一区精品二区| 国产一区二区在线观看免费视频| xxxx欧美18另类的高清| 国产精品一区二区你懂的| 欧洲成人午夜精品无码区久久| 久久人人爽国产| 国产精品私房写真福利视频| 奇米网一区二区| 蜜桃传媒视频麻豆一区| 欧美性做爰猛烈叫床潮| 99精品视频免费看| 99草草国产熟女视频在线| 久99九色视频在线观看| 久久天天做天天爱综合色| 久久嫩草捆绑紧缚| 欧美性天天影院| 精品国产一区a| 激情图片小说一区| 亚洲永久精品ww.7491进入| 成人自拍偷拍| 91精品国产综合久久久久久久久久| 深爱激情五月婷婷| 欧美激情 亚洲| 91大片在线观看| 欧美一区二区三区人| 久久99精品一区二区三区| 精品国产av无码| 久久久人人爽| 精品成人一区二区三区| 国产精品自拍毛片| 国产成人av免费在线观看| 久久久一二三四| 欧美日韩国产va另类| 亚洲大片精品永久免费| 高h震动喷水双性1v1| 精品国产av色一区二区深夜久久| 国产福利一区二区三区在线观看| 精品毛片乱码1区2区3区| 成人精品鲁一区一区二区| 黄色一级大片在线免费观看| 一区二区视频国产| 欧美精品videos| 日本韩国一区二区三区视频| 免费在线观看一区二区三区| 国产18无套直看片| 天天做天天爱天天高潮| 97色在线观看免费视频| 欧美影视一区二区三区| 狠狠色丁香婷婷综合| 91蜜桃视频在线观看| 青青草av网站| 99久久精品无码一区二区毛片| 亚洲国产精品久久久| 亚洲国产电影在线观看| 国产jzjzjz丝袜老师水多 | 亚洲免费看av| 成人午夜电影免费在线观看| 日韩精品免费看| 亚洲女人****多毛耸耸8| 久久久久久一区二区| 蜜臀av午夜精品久久| 国产a级一级片| 成人自拍网站| 欧美wwwxxxx| 欧美久久高跟鞋激| 久久久.com| 欧美在线精品一区二区三区| 91免费公开视频| 成熟老妇女视频| 精品国产一区二区三区免费| 久久综合亚洲社区| 69成人精品免费视频| 中文字幕一区二区三区蜜月| 日日噜噜夜夜狠狠视频欧美人 | 久久人人精品| 国产一级片视频| 国产探花一区二区三区| 玖玖精品在线视频| 国产自摸综合网| 久久精品一偷一偷国产| 欧美乱熟臀69xxxxxx| 亚洲欧洲av在线| 国产精品一二三区在线| 99久久99久久久精品棕色圆| 国产67194| 韩国三级hd两男一女| 亚洲精品天堂成人片av在线播放 | 欧美一区二区三区精品电影| 日韩精品自拍偷拍| 亚洲在线观看免费| 成人免费av资源| 香蕉视频成人在线| 亚洲免费视频二区| 久一视频在线观看| 潮喷失禁大喷水aⅴ无码| 国产精品一级无码| 欧美日韩在线免费播放| 日本老太婆做爰视频| 日产精品久久久一区二区|