2014-02-15 2 views
1

У меня есть план, как показано ниже, и с помощью склянки-загрузки для загрузки файлаКак переименовать загруженный файл в Колба Web Framework

@blueprint.route('/', methods=['GET', 'POST']) 
def upload_file1(): 
    # user = User.query.filter_by(id=current_user.id).first_or_404() 
    form = PhotoFormUpload() 
    if request.method == 'POST': 
     file = request.files['file'] 
      if file and allowed_file(file.filename): 
       foto = form.photo_upload.data.lower() 
       filename = user_photos.save(foto) 
       update_avatar = User.query.filter_by(id=current_user.id).update(dict(avatar=filename)) 
       db.session.commit() 
       flash('Upload Success', category='success') 
       return render_template('upload/display_photo.html', filename=filename) 
      else: 
       return render_template('upload/upload.html', form=form) 

я изменить FOTO = form.photo_upload.data к FOTO = форму. photo_upload.data.lower() , но он не работает Как переименовать имя загруженного файла?

ответ

4

Ответ на ваш вопрос есть в http://pythonhosted.org/Flask-Uploads/

save(storage, folder=None, name=None)

Параметры:
хранение - Загруженный файл для сохранения.
folder - Вложенная папка в наборе загрузок для сохранения.
имя - имя для сохранения файла как. Если он заканчивается точкой, расширение файла будет добавлено до конца.

Пример: user_photos.save(pathToDirectory, name=NewName)

0

Я использовал следующий метод, чтобы переименовать загруженный файл на лету

file = request.files['file'] 
file.filename = "abc.txt" #some custom file name that you want 
file.save("Uploads/"+file.filename) 
Смежные вопросы