本文主要介紹vue在線測試(vu測試),下面一起看看vue在線測試(vu測試)相關(guān)資訊。
搜索【大旗測試凱】,關(guān)注這個堅持分享在測試發(fā)展干貨的家伙。
讓 讓我們回顧一下在本系列的第八次分享中給出的預(yù)期產(chǎn)品原型和需求。下圖與前兩節(jié)大體相似,只是一般的測試報表要寫的內(nèi)容可能更多,所以使用了一些多行輸入框組件。另一個特殊的新功能操作是附件上傳,這是首先要解決和掌握的重點內(nèi)容。
后端服務(wù)保存附件,寫一個上傳接口,服務(wù)器通過r: # save _ path = os . path . join(os . path . abs path(os . path . dirname(_ _ file _ _))。( 全員生產(chǎn)性維護(hù)服務(wù)。;)[0],tpm service/static ;)# get file attfile = request . files . get( ;文件 )attfile . save(os . path . join(save _ path,attfile . filename))return { 代碼 : 200 信息與廣告: 上傳請求成功。
在這里上傳文件,一般來說,你可以 不要無限制地上傳文件。需要在格式和大小上做一些限制,需要做一些安全處理。是通過filefield做格式限制等要求,使用secure_filename做文件名安全處理。
優(yōu)化后,完整的代碼被分成兩個片段。
1.引入依賴關(guān)系并創(chuàng)建fileform類。
?12345678910 importos #中涉及的相關(guān)依賴項refer from wt forms import form,filefield from mask _ wtf.file import必選,filallowedfromwerkzeug。來自werkzeug的utils importsecur: fil: #初始化返回對象resp _ success = format。resp _ format _ succ: #獲得項目路徑保存文件夾,則合成服務(wù)保存絕對路徑save _ path = os . path . join(os . path . abspath(os . path . dirname(_ _ file _ _))。( 全員生產(chǎn)性維護(hù)服務(wù)。;)[0], tpm服務(wù)/靜態(tài)和。;)#獲取選擇通過表單上傳的文件attfile = re表單提交的數(shù)據(jù)。quest . files . get( ;文件 )#執(zhí)行安全名稱檢查處理file _ name = secure _ filename(attfile . filename)# save attfile . save(os . path . join(save _ path,file _ name))resp _ succ:文件名} return resp _ succ: r測試下載的。如果我沒有。;t設(shè)置全局限制,除了慢我都能上傳成功,而且我搜索了源代碼max_content_length = none,可能是版本原因。現(xiàn)在沒有這個限制了。
?1從flash導(dǎo)入flash,request app = flash(_ _ name _ _)app . config[ ;最大內(nèi)容長度。;] = 16 * 1000 * 1000關(guān)于上傳flas件的更多解釋和例子請參考【鏈接1】。還有一個第三方插件,可以友好的操作文件【鏈接2】,但是這兩種都是全局控制的。如果想分別控制不同接口的大小,現(xiàn)在嘗試的是讀取文件,得到長度len(attfile.read),實際上就是字節(jié)大小,然后比較返回。如果你有更好的方案,請告訴我。
文件上傳接口完成后,下載接口必不可少。這個比較簡單,通過flask提供的send_from_directory方法實現(xiàn)。代碼如下。詳細(xì)解釋請參考【鏈接1】的后半部分。
?123456789101112 from flask import send _ from _ directory @ t: fime name = request . args . get( ;姓名和名稱。;)#保存文件的相對路徑save _ path = os . path . join(os . path . abspath(os . path . dirname(_ _ file _ _))。。( tpmservice )[0], tpm服務(wù)/靜態(tài) )result = send _ from _ directory(sav測試,效果如圖。一開始是巨大的提示,然后正常上傳返回成功結(jié)果。
刷新以檢查代碼服務(wù)的存儲位置。文件已正確上傳。
下載的測試可以通過瀏覽get請求服務(wù)路徑/api/file/download?=用于下載驗證的文件名。
用于實現(xiàn)前端vue的組件是 上傳 ,并且官網(wǎng)給出了多種樣式和,如多文件、頭像上傳、拖拽上傳、列表形式等。詳情請參考【鏈接3】。
如圖,其中action為上傳地址,這一塊可以換成新實現(xiàn)的上傳接口 127 . 0 . 0 . 1 : 5000/api/report/upload,表示上傳地址。默認(rèn)選擇文件后自動上傳,實際上是幫助你實現(xiàn)postman呈現(xiàn)的表單文件自動提交。你可以通過設(shè)置:自動上傳= 虛假 ,或者您可以通過http-r:on-success鉤子打印上傳成功的返回信息。
?123456789101121314151617181920212223242627293031323343536模板div class = 應(yīng)用程序-容器 表單項目標(biāo)簽= 附件 prop = 測試文件 埃爾上傳。1 : file-list = 文件列表 :auto-upload = 真實 動作= http:// 127 . 0 . 0 . 1 : 5000/api/report/upload .com on-success = 上傳文件 el-buttonsize = 小 type = 小學(xué)和初中點擊上傳/el-button div slot = 小費和小費class = el-upload _ _ tip 僅限jpg/png/ zip/pdf文件,不超過1m/div/el-upload/el-form-item/el-form/div/template scriptexportdefault { name : ;演示上傳 ,data{ r:[]} },m: { uploadfil測試,可以看到正常返回2000,可以正常獲取鉤子中的三個參數(shù)信息。其實后面的報表函數(shù)就是獲取返回的文件名,賦給一個變量。
在測試的另一個案例中,文件格式不符合要求,大小超出了服務(wù)器的限制。發(fā)現(xiàn)文件格式為40000,但仍顯示fil:on-success優(yōu)化添加模式代碼如下:
?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566768697071727374757778798081828384858687888990 template div class = 應(yīng)用程序-容器 表格項目實驗室實現(xiàn)一個 prop = 測試文件 el-上傳ref = 文件一 : limit = 1 : file-list = 文件列表 :auto-upload = 真實 行動。cho 11-@ . com 127 . 0 . 0 . 1 : 5000/api/report/upload .com on-success = 上傳成功與失敗.com on-error = 上傳錯誤 el按鈕大小= 小 type = 小學(xué)和初中點擊上傳/el-button div slot = 小費和小費class = el-upload _ _ tip 只能上傳jpg/png/zip/pdf文件。并且不超過10m/div/el-upload/el-form-item el-form-item label = 實施2 prop = 測試文件 el-上傳: limit = 1 : file-list = 文件列表 動作= http:// 127 . 0.1 : 5000/api/report/upload : http-request = 上傳文件: on-成功= 上傳成功el按鈕大小= 小 type = 小學(xué)和初中點擊上傳/ el按鈕小費和小費class = el-upload _ _ tip 只能上傳jpg/png/zip/pdf文件,文件大小不能超過10m/div /el-upload /el-form-item。/el-form/div/template script從 axios和。;出口默認(rèn){ nam: ;演示上傳 ,data{ r:[],fil: ; } }、m: { upload success(響應(yīng),文件,文件列表){if(響應(yīng)。code = = = 40000){這個。$ message({ message : ;格式不正確或上傳不正常。;,type : ;警告 })這個。file list = []} else {this。$ message({ message : ;上傳成功 ,type : ;成功 })}}上傳錯誤(err,file,file list) {this。$ message({ message : ;大小不符合要求或服務(wù)器不正常。;,type : ;警告 })},upload defile(params){ console . log(params . file)const fd = new formdatafd . append( ;文件 ,params . file)fd . append( ;文件名 ,params . file . name)fd . append( ;異步 ,true)const config = { h: { ;cont: ;多部分/形式數(shù)據(jù) } } axios。post(params.action,fd,config)。然后(res = { console.log(res.data) })。catch(error = { this . filelist =[]this。$message({ message : ;大小不符合要求或服務(wù)器不正常。;,type : ;警告 })} } } }/腳本
為什么要講一個帶自動上傳的自定義上傳?這里有兩點:
到目前為止,驗證都是靠后端,但實際上服務(wù)器端的驗證是后驗證,文件已經(jīng)上傳了。如果文件很大或者很大,會占用io,可以自定義提交進(jìn)行一些前端上傳驗證。
作為慣例,盡量給大家走一趟坑。官方并沒有給出:on-succ測試,通過uploaderrors鉤子或者axios catch(錯誤)捕獲實現(xiàn)。
到目前為止,這篇文章的分享就是關(guān)于這些內(nèi)容的。下一次,我們將完成報告部分,即平臺的第一階段。順便說一下,我們還將公布上次調(diào)查的結(jié)果和一些后續(xù)安排。歡迎大家繼續(xù)關(guān)注和交流。可以通過私信或者官方賬號聯(lián)系,加入群。
[參考鏈接]
【鏈接1】 . readthedocs . io/://element.eleme.io/#/zh-cn/component/upload
堅持原創(chuàng),堅持實踐,堅持干貨。如果覺得有用,請點擊推薦。也歡迎大家關(guān)注我的博客公園和官方賬號。
標(biāo)簽:
上傳文件
了解更多vue在線測試(vu測試)相關(guān)內(nèi)容請關(guān)注本站點。
裝機(jī)配置方案(裝機(jī)配置教程)
更換硬盤多少錢,什么硬盤質(zhì)量最好最耐用
蘋果手機(jī)照片刪除后為什么還會有圖標(biāo)(蘋果手機(jī)照片刪除后為什么還會有圖標(biāo))
win7和win10哪個好用2021(win7和win10哪個更好)
win11安裝完要輸入密碼(windows 11安裝過程)
vue在線測試(vue 測試)
40006000游戲本推薦,求大神推薦幾臺游戲本4000到6000元
蘋果xr閃退是怎么回事啊(蘋果xr閃退是什么原因)
惠普筆記本黑屏后怎樣喚醒,HP電腦睡眠喚醒
傳奇登陸黑屏(傳奇游戲黑屏怎么弄)
小白系統(tǒng)在線安裝教程(小白系統(tǒng)官網(wǎng)電腦版)
筆記本電腦功率最大多少萬瓦,筆記本電腦的功率多大
怎么關(guān)掉appstore自動續(xù)費(怎么取消appstore自動續(xù)費的軟件)
windows 7怎么改時間(windows7電腦時間怎么改)
永恒之塔懷舊服配置要求(永恒之塔懷舊版配置要求)
php投票代碼(php投票系統(tǒng)代碼)
如何進(jìn)入一鍵還原系統(tǒng),如何啟動一鍵還原
何為硬盤分區(qū)及其方法,硬盤分區(qū)是什么有什么用新電腦1TB 7200轉(zhuǎn)硬盤和128G 固態(tài)硬
蘋果筆記本能不能用固態(tài)m2(m2硬盤可以裝在蘋果筆記本上)
win7怎么恢復(fù)默認(rèn)的用戶配置文件(win7怎么恢復(fù)默認(rèn)的用戶配置文件格式)