在使用flask下载文件时会出现的一个文件下载不到的问题
生活随笔
收集整理的這篇文章主要介紹了
在使用flask下载文件时会出现的一个文件下载不到的问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
from?flask?import?send_from_directory @app.route('/uploads/<filename>') def?uploaded_file(filename):return?send_from_directory(app.config['UPLOAD_FOLDER'],filename)genericpath.py?如果系統(tǒng)安裝了這個(gè)組件的話: 會(huì)替換系統(tǒng)自帶的path功能,導(dǎo)致,path失效了。最終會(huì)找不到文件。 代碼只有這樣簡短的幾句話而已。就是這個(gè)os.path.isfile會(huì)有問題。所以,放在uploaded_file中來完成這個(gè)動(dòng)作,就可以了 """ filename?=?safe_join(directory,?filename) if?not?os.path.isfile(filename):raise?NotFound() options.setdefault('conditional',?True) return?send_file(filename,?**options)????????????? 最終的代碼類似于這個(gè)樣子: #filename?=?flask.safe_join(UPLOAD_FOLDER,?filename) print(flask.safe_join(UPLOAD_FOLDERS,secure_filename(filename))) print(os.path.isfile(filename)) return?flask.send_file(flask.safe_join(UPLOAD_FOLDERS,secure_filename(filename)),as_attachment=True)?從現(xiàn)象上看,好像是genericpath.py將python自己帶的path這個(gè)類重寫了,導(dǎo)致所有對path的操作,都指向了genericpath這個(gè)里面,這個(gè)類的處理又和系統(tǒng)自帶的有些不太一樣,所以會(huì)導(dǎo)致相同的方法返回值完全不同的情況,
比如:os.path.isfile這個(gè)方法執(zhí)行時(shí),同樣的一個(gè)文件,會(huì)得出不同的結(jié)果。
轉(zhuǎn)載于:https://my.oschina.net/u/1462124/blog/521300
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的在使用flask下载文件时会出现的一个文件下载不到的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日期DatePicker与时间TimeP
- 下一篇: U3D 通过预置对象实现手动创建精灵