【问题标题】:file upload turbogears 2.3.1文件上传 turbogears 2.3.1
【发布时间】:2013-12-10 10:57:46
【问题描述】:

如何在 turbogears 2.3.1 中进行文件上传?我正在使用 CrudRestController 和 tgext.datahelpers,它正在将文件上传到 sqlite3 数据库中,但格式未知。我想在硬盘驱动器中制作上传文件的副本。我的查询是如何确保当用户上传文件时,它同时加载到数据库和硬盘中。 (感谢您的建议)

【问题讨论】:

    标签: python-2.7 turbogears2


    【解决方案1】:

    tgext.datahelpers 将文件上传到磁盘上的public/attachments 目录(这可以用tg.config['attachments_path'] 更改)。

    所以您的文件已经存储在磁盘上,只有文件元数据,如 URL、文件名、缩略图 URL 等以 JSON 格式存储在数据库中

    【讨论】:

    • 实际上这是我所期望的,但它不是这样发生的。我创建了模型并使用了 file = Column(Attachment)。然后在控制器中使用这个模型(使用 crudrestcontroller)。当我正在上传文件时,它显示文件正在上传,但磁盘上没有任何内容。
    • 我尝试使用 bootstrap.py 添加一个文档,运行变速箱 setup-app -c development.ini 后,该文件被添加到数据库和磁盘中。但是在启动应用程序并转到页面 /doc 之后(使用 crudrestcontroller),文件没有被添加。 db 显示又添加了一行,但在文件列中,什么都没有
    • 可能与验证器问题有关。本教程混合使用 CrudRestController 和 tgext.datahelpers 附件,试试看是否有效:blog.axant.it/archives/423
    • 是的,它与验证器有关。我没有使用 FileValidator。非常感谢您的建议。
    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多