如何使用web2py上传视频后下载视频

时间:2015-10-03 14:21:21

标签: video web2py web2py-modules

我正在为我的大学项目使用web2py。

我设法将视频上传到我的数据库(通过将其上传到'上传文件')。

但问题是我之后不知道如何访问上传的视频。

有人可以解释我如何在上传视频后访问该视频吗?

目的是用户可以看到他们的视频并下载。

db.define_table('product',Field('TITLE',requires=IS_NOT_EMPTY()),
            Field('OWNER_ID','reference auth_user',readable=False,),
            Field('Video','upload'),
            Field('DESCRIPTION','text'),
            Field('times','datetime'),
            Field('RATE')
            )

1 个答案:

答案 0 :(得分:0)

上传字段存储文件的名称,因此要获取文件的路径,您可以执行以下操作:

import os
row = db(db.product.id == some_id).select().first()
filepath = os.path.join(request.folder, 'uploads', row.Video)

但是,web2py包含一个内置方法response.download,它将自动检索并流式传输通过上传字段上传的文件。脚手架应用程序在default.py控制器中包含以下函数:

def download():
    """
    allows downloading of uploaded files
    http://..../[app]/default/download/[filename]
    """
    return response.download(request, db)

要通过上述操作生成要下载的链接,您可以使用URL帮助程序,如下所示:

URL('default', 'download', args=row.Video)

其中rowdb.product表中的一行。 response.download方法将从request.args[0]读取文件名(即第一个URL arg)。文件名包括db表和字段名,因此response.download使用该信息来标识上载字段定义,其中包括上载文件路径。然后它传输文件。