Flaskでアップロードされたファイルのデータ、request.data が空になってしまう
Python Flaskでファイルを保存するときにそのファイルのsha1ハッシュをファイル名として利用したいのですが、以下のようにrequest.data
のハッシュを計算すると常に同じ値になります。
それは https://stackoverflow.com/questions/10434599/how-can-i-get-the-whole-request-post-body-in-python-with-flask この質問で述べられている通り、request.data
が空になっているからだと考えられます。
そこで他にポストされたファイルのハッシュを計算する方法などありますでしょうか。
@app.route('/upload', methods=['POST'])
def upload():
f = request.files["file"]
root, ext = os.path.splitext(f.filename)
if not allowed_file(ext):
abort(400)
print(f.filename)
fname = sha1(request.data).hexdigest() + ext
f.save(os.path.join(TEST_IMAGE_DIR, fname))
res = dict(filename = fname)
return jsonify(res)