Атрибут filename
Атрибут filename принадлежит классу
FileUpload и содержит имя файла,
которое передал клиент при загрузке.
Значение представляет собой строку и
доступно только для чтения.
Данный атрибут удобно использовать для
отображения имени файла пользователю, а
также для формирования имени при сохранении
файла на сервере. Обратиться к атрибуту
можно через объект, полученный из
request.files.
Синтаксис
upload.filename
Пример
Давайте выведем имя загруженного файла в ответ на запрос:
from bottle import Bottle, request
app = Bottle()
@app.route('/upload', method='POST')
def upload():
upload = request.files.get('file')
return upload.filename
Результат выполнения кода для файла
'photo.png':
"photo.png"
Пример
Давайте используем атрибут filename
для формирования имени сохраняемого файла:
from bottle import Bottle, request
app = Bottle()
@app.route('/upload', method='POST')
def upload():
upload = request.files.get('file')
name = upload.filename
upload.save('uploads/' + name)
return 'saved ' + name
Результат выполнения кода для файла
'photo.png':
"saved photo.png"
Пример
Давайте выведем имя файла в шаблоне SimpleTemplate:
from bottle import Bottle, request, template
app = Bottle()
@app.route('/upload', method='POST')
def upload():
upload = request.files.get('file')
return template('upload', name=upload.filename)
Шаблон upload.tpl:
<p>{{ name }}</p>
Результат выполнения кода для файла
'photo.png':
<p>photo.png</p>
Смотрите также
-
класс
FileUpload,
который представляет загруженный файл -
атрибут
raw_filename,
который хранит исходное имя файла -
метод
save,
который сохраняет файл на сервере -
атрибут
content_type,
который хранит MIME-тип файла