欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

千鋒扣丁學(xué)堂Python培訓(xùn)之django框架實現(xiàn)一次性上傳多個文件功能

2019-06-19 13:19:03 2918瀏覽

今天千鋒扣丁學(xué)堂Python培訓(xùn)老師給大家分享一篇關(guān)于django框架實現(xiàn)一次性上傳多個文件功能示例【批量上傳】的詳細介紹,首先在用django寫文件上傳的時候,從request.FILES['myfiles']獲取到的文件始終只有一個,但在HTML頁面上明明用HTML5的文件控件選擇了多個文件,用的是CHROME瀏覽器,一次可以選擇多個文件上傳。在Pydev開啟debug模式,查看request對象,發(fā)現(xiàn)上傳的多個文件確實在request對象中,但為什么用request.FILES['myfiles']卻只能得到一個呢?

前端html5上傳控件,我用了jqueryfileupload

<input type="file" name="myfiles" multiple="">


選擇多個文件之后,然后提交請求,開啟pydevdebug模式,查看request內(nèi)容:



其中request.FILES的內(nèi)容為如下:

MultiValueDict: <MultiValueDict: {u'myfiles': [<InMemoryUploadedFile: 300x600.png (image/png)>, <InMemoryUploadedFile: todo.txt (text/plain)>]}>

很明顯,上傳的文件的確在其中,但是當(dāng)用request.FILES['myfiles']得到的確是最后一個。而不能得到兩個文件。跟蹤代碼發(fā)現(xiàn),request.FILES的類型為MultiValueDict,這種字典類是特殊定義的,如果需要取得list需要調(diào)用getlist方法,看到這里,豁然開朗,下面是得到上傳的多個文件與處理的邏輯

files = request.FILES.getlist('myfiles')
for f in files:
   destination = open('d:/temp/' + f.name,'wb+')
   for chunk in f.chunks(): 
     destination.write(chunk)
   destination.close()

其實很簡單的,就是不細心,另外django默認是只處理單個文件上傳的,要一次性批量處理多個文件上傳就得采用這種方法。

以上就是關(guān)于千鋒扣丁學(xué)堂Python培訓(xùn)之django框架實現(xiàn)一次性上傳多個文件功能的全部內(nèi)容,希望對大家有所幫助,想要了解更多關(guān)于Python開發(fā)方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育有專業(yè)的Python講師為您指導(dǎo),此外扣丁學(xué)堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開發(fā)實戰(zhàn)技能。扣丁學(xué)堂Python技術(shù)交流群:279521237。


扣丁學(xué)堂微信公眾號                          Python全棧開發(fā)爬蟲人工智能機器學(xué)習(xí)數(shù)據(jù)分析免費公開課直播間


      【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】         【掃碼進入Python全棧開發(fā)免費公開課】



查看更多關(guān)于"Python開發(fā)資訊"的相關(guān)文章>

標(biāo)簽: Python培訓(xùn) Python視頻教程 Python在線視頻 Python學(xué)習(xí)視頻 Python培訓(xùn)班

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部