Метод save
Метод save применяется к объекту FileStorage,
который возвращает словарь request.files при загрузке
файла через форму. Первым параметром передаётся путь назначения
dst: это может быть строка с именем файла или файловый
объект, открытый для записи. Вторым необязательным параметром
передаётся буфер buffer_size, который задаёт размер
блока при копировании данных.
Синтаксис
FileStorage.save(dst, buffer_size=16384)
Пример
Давайте сохраним загруженный файл в папку проекта:
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
file.save('uploads/' + file.filename)
return 'saved'
Результат выполнения кода:
"saved"
Пример
Давайте сохраним файл под своим именем, взятым из атрибута
filename:
from flask import Flask, request
from werkzeug.utils import secure_filename
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
name = secure_filename(file.filename)
file.save('uploads/' + name)
return name
Результат выполнения кода для файла 'article.txt':
"article.txt"
Пример
Давайте сохраним файл в открытый файловый объект:
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
with open('uploads/abcde.txt', 'wb') as f:
file.save(f)
return 'ok'
Результат выполнения кода:
"ok"
Смотрите также
-
класс
FileStorage,
который представляет загруженный файл -
атрибут
filename,
который хранит имя загруженного файла -
метод
stream,
который возвращает поток с данными файла -
метод
close,
который закрывает загруженный файл