flask - 'SpooledTemporaryFile' 对象没有属性 'replace'

标签 flask upload

我正在使用 flask 制作一个网络来上传视频,添加一个视频是有效的,但是当我尝试编辑(替换)我上传的视频时,有一个 AttributeError: 'SpooledTemporaryFile' object has no attribute 'replace '

forms.py中,url作为视频的路径:

url = FileField(
    label="Video",
    validators=[
        Optional()
    ],
    description="Video"

views,py中:

def movie_edit(id=None):
    form = MovieForm()
    form.url.validators = []
    movie = Movie.query.get_or_404(int(id))
    if form.validate_on_submit():
        data = form.data
        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        if data["url"] != "":
            file_url = secure_filename(data["url"])
            movie.url = change_filename(file_url)
            form.url.data.save(app.config["UP_DIR"] + movie.url)

如何修复这个错误?

最佳答案

我猜测 data["url"] 是一个 SpooledTemporaryFile 对象,而不是一个字符串。没有完整的堆栈跟踪,我无法判断哪一行是 barfing,但您可能需要将 file_url = secure_filename(data["url"]) 更改为 file_url = secure_filename(data["url"].filename) 或类似的东西。

关于flask - 'SpooledTemporaryFile' 对象没有属性 'replace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55014082/

相关文章:

php - 在 php 脚本中使用上传的文件名作为 ffmpeg 输入

image - Powershell将图像上传到https://www.artstation.com/

C#文本文件上传下载问题

flask - jinja2 循环 flask wt 形式

python - 使用flask渲染html找不到文件

python - 在 Python Flask 中,如何获取当前登录用户的角色名称?

webserver - Flask内置Web服务器有哪些限制

python - @login_manager.user_loader 从哪里获取用户 ID?

JavaScript 上传错误

iPhone UI图像上传到网络服务