Web2py:我应该如何显示存储在数据库中的上传图像?

发布于 2024-11-15 11:58:02 字数 318 浏览 5 评论 0原文

有没有一种 web2py 方式来显示数据库表中的图像?

示例:

模型:

db.define_table=('images',Field('picture', 'upload' ))

控制器:

def somefunction(): to get the image.

我到底应该如何从数据库“读取”图片?

观点:

<img src="{{somefunction}}" />

Is there a web2py way of displaying images from a database table?

Example:

The model:

db.define_table=('images',Field('picture', 'upload' ))

The controller:

def somefunction(): to get the image.

How exactly should I "read" a picture from the database?

The view:

<img src="{{somefunction}}" />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你的背包 2024-11-22 11:58:03

事实上,您的模型不会将图像存储在数据库中,而是将图像存储在文件系统上,并将其新文件名存储在数据库中(在“图片”字段中)。如果要将图像本身存储在数据库中,请使用以下命令:

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)}}" />

where picture_name< /code> 是存储在您要检索的特定图像的“images”表的“picture”字段中的值。

有关更多详细信息,请参阅此处此处

如果您需要进一步帮助,请尝试在邮件列表上提问。

As is, your model will not store the image in the database -- instead, it will store the image on the filesystem, with its new filename stored in the database (in the 'picture' field). If you want to store the image itself in the database, use the following:

db.define_table('images',
    Field('picture', 'upload', uploadfield='picture_file')
    Field('picture_file', 'blob'))

Whether you store the images on the filesystem or in the database, you can use the same method to retrieve them. The 'welcome' scaffolding application includes the following download() action in the default.py controller:

def download():
    return response.download(request, db)

To retrieve an image, just do something like:

<img src="{{=URL('default', 'download', args=picture_name)}}" />

where picture_name is the value stored in the 'picture' field of the 'images' table for the particular image you want to retrieve.

For more details, see here and here.

If you need further help, try asking on the mailing list.

被你宠の有点坏 2024-11-22 11:58:03

或者,如果您使用 web2py 将图像作为文件上传的默认方式,您可以使用:

在模型中:

db.define_table('images',Field('picture','upload'))

在控制器中: 在

def somefunction():
    pic = db(db.images).select().first().picture   #select first picture
    return dict(pic=pic)

default/somefunction.html 视图中:

{{extend 'layout.html'}}
<img  src="{{=URL( 'download', args=pic)}}" />

我知道这是在原始问题之后一段时间,但认为它可能有用因为我花了一段时间才弄清楚。

Alternatively, if you use web2py's default way of uploading images as files, you can use:

In models:

db.define_table('images',Field('picture','upload'))

In controllers:

def somefunction():
    pic = db(db.images).select().first().picture   #select first picture
    return dict(pic=pic)

And in the default/somefunction.html view:

{{extend 'layout.html'}}
<img  src="{{=URL( 'download', args=pic)}}" />

I know this is a while after the original question but thought it might be useful as it took me a while to figure out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文