有没有一种web2py的方式可以从数据库表中显示图像?
例如:
模型:
db.define_table=('images',Field('picture', 'upload' ))
控制器:
def somefunction(): to get the image.
我应该如何从数据库中“读取”图片?
视图:
<img src="{{somefunction}}" />
目前的模型不会将图像存储在数据库中--相反,它会将图像存储在文件系统中,并将其新文件名存储在数据库中(在“picture”字段中)。如果您想要将图像本身存储在数据库中,请使用以下内容:
db.define_table('images',
Field('picture', 'upload', uploadfield='picture_file')
Field('picture_file', 'blob'))
无论您将图像存储在文件系统中还是数据库中,您都可以使用相同的方法检索它们。 "welcome"脚手架应用程序在"default.py"控制器中包括以下download()
操作:def download():
return response.download(request, db)
要检索图像,只需执行以下操作:
<img src="{{=URL('default', 'download', args=picture_name)}}" />
在检索特定图像时,picture_name
是存储在 'images
' 表的 'picture
' 字段中的值。
如果需要进一步帮助,请尝试在邮件列表上提问。
db.define_table('images',Field('picture','upload'))
在控制器中:
def somefunction():
pic = db(db.images).select().first().picture #select first picture
return dict(pic=pic)
在默认/ somefunction.html 视图中:
{{extend 'layout.html'}}
<img src="{{=URL( 'download', args=pic)}}" />
我知道这是原始问题之后一段时间,但认为这可能有用,因为我花了一段时间才弄清楚。
URL('default', 'download',args=picture_name)
。 - Juddling