class
movieform
(flaskform):
url = filefield(
label='檔案',
validators=[
datarequired('請上傳檔案!')
],description='檔案'
有很多時候我們直接傳入檔名是不安全的,需要secure_filename把檔名轉化成安全的名稱,這時我們需要定義加密函式:def
change_filename
(filename):
fileinfo = os.path.splitext(filename) #把檔名分解為字尾和字首
filename = datetime.datetime.now().strftime('%y%m%d%h%m%s')+str(uuid.uuid4().hex)+fileinfo[-1]
return filename
@admin.route('/movie/add/',methods=['get','post'])
defmovie_add
(): form = movieform()
if form.validate_on_submit():
data = form.data
#secure_filename使傳入的檔名變得安全
file_url = secure_filename(form.url.data.filename)
file_logo = secure_filename(form.logo.data.filename)
if#如果不存在儲存的目錄,則建立該目錄
#設定該目錄可讀可寫
#名稱規範化
url = change_filename(file_url)
logo = change_filename(file_logo)
#進行儲存
#設施movie模型例項
movie = movie(
url = url,
)db.session.add(movie)
db.session.commit()
flash('新增電影成功','ok')
return redirect(url_for('admin.movie_add'))
return render_template('admin/movie_add.html',form=form)
class="alert alert-success alert-dismissible">
type="button"
class="close"
data-dismiss="alert"
aria-hidden="true">×button>
class="icon fa fa-check">
i> 操作成功!h4>}}
class="col-md-12">
style="color:red">
}font>
div>
flask實現檔案的上傳
檔案上傳過程中,一定要進行檔案大小的校驗,如果使用者上傳檔案過大,比如 100gb,所以一直在處理這個請求,別的請求進來就無法處理了,所以要限制上傳檔案的大小。flask中,提供了校驗檔案大小的機制,所以在配置檔案中進行配置,並重寫異常返回資訊即可。自定製錯誤返回資訊 在flask內部,會幫我們校驗...
windows下Flask上傳檔案路徑
在windows下用flask實現上傳,上傳後總是找不到正確的資料夾路徑。修改上傳資料夾為如下的時候 upload folder sys.path 0 上傳到程式所在的當前資料夾,但是新增了當前路徑下的資料夾後就會出錯,試過了各種組合,最後找到了乙個很好的並且可以隨意任何作業系統之間遷移的方法 py...
python基礎flask 爬蟲上傳檔案
不以物喜不以己悲 人生不能放棄 今天的學習目標是 爬蟲上傳檔案到flask伺服器 1.客戶端程式 import urllib import urllib.request import os url filename fe.png try fobj open filename,rb 讀出資料 data...