我只是想显示我存储在db表中的所有图像:
db.define_table('tbl_profile',
Field('id', 'integer'),
Field('name', 'string'),
Field('company', 'string'),
Field('title', 'string'),
Field('image', type='upload'),
在menu.py中我有:
response.menu = [
(T('Show'),False,URL('app/default','show')),
(T('Contact'),False, URL('app/default', 'contact')),
(T('Test'),False, URL('app/default', 'test'))
]
我在default.py中尝试了以下内容:
def show():
return dict(show=db().select(db.tbl_proile.image))
并在show.html中:
{{for tbl_profile in show:}}
<img src="{{=URL('default', 'download', args=tbl_card.image)}}" /> <br />
{{pass}}
我的下载功能是web2py提供的默认功能。当我点击“显示”标签时,它会将我带到一个页面,但它会显示一个损坏的图像。
我查看了db和upload文件夹,看起来图像已正确加载。
感谢您的帮助。我一直坚持这一点。
答案 0 :(得分:1)
如果您想利用内置的上传和下载功能,则必须使用SQLFORM
(包括appadmin,Crud
和SQLFORM.grid
上传文件)并使用response.download()
下载文件(对于特殊情况,还有一些更高级的选项)。上传文件后,如果要利用自动下载功能,则无法移动或重命名该文件。