要件:フラスコフレームワークを使用してファイルをアップロードする。一旦サーバーにアップロードされると、ユーザーはUIでファイルを見ることができるはずです。Pythonフラスコを使用して大きなcsvファイルをアップロードする最も良い方法
現在のコード:上記の要件を満たすために、十分に大きなファイルをアップロードするコードを書いています(〜30 MBのファイル、それほど高速ではありません)。しかし、私がアップロードしようとしているファイル(〜100 MB)、それは時間がかかりすぎてプロセスが完了しない。
これは私がやっている現在のものです:
UPLOAD_FOLDER =「を/ tmp」を
file = request.files['filename']
description = request.form['desc']
filename = secure_filename(file.filename)
try:
file.save(os.path.join(UPLOAD_FOLDER, filename))
filepath = os.path.join(UPLOAD_FOLDER, filename)
except Exception as e:
return e
data = None
try:
with open(filepath) as file:
data = file.read()
except Exception as e:
log.exception(e)
をので、私は何をやっていることは、最初のサーバーに一時的な場所にファイルを保存して、その後から読んでいますデータをデータベースに格納します。私はこれが私が苦労しているところだと思っています。何が最良のアプローチであるか分かりません。
私は(明らかにユーザーは直ちににファイルにアクセスすることはできません)、データベースにバックグラウンド・プロセスをデータを入れて作る、キューシステムのいくつかの種類を使用して、ユーザからの入力を取り、成功メッセージを返す必要があります。あるいは、コードを最適化するために何をすべきか。フラスコ側で