2

如果用户没有在上传部分放置任何内容,我正在尝试制作一个默认上传的 SQLFORM。我将文件(.png 图像)保存在我的静态/图像目录中。如果用户实际提交了一个文件,它会正确获取,但我的默认设置不起作用。为了使默认值我正在尝试

form.vars.image_thumbnail = db.myTable.image_thumbnail.store(open(os.path.join(request.folder, 'static', 'images','defaultUpload.png'),'rb')))

这就像我在其他情况下所做的那样,我希望在表格中使用这个默认图像。有没有好的方法来做到这一点。

好的简单解释:我有一个带有上传字段的表格。我想在页面上放置一个 SQLFORM 以插入一个新条目。我还希望该表单能够识别用户何时将上传部分留空并用静态文件夹中的文件填充它。我可以用 SQLFORM 做到这一点吗?

4

2 回答 2

1

这应该有效:

import os
db.myTable.image_thumbnail.default = os.path.join(request.folder, 'static', 'images', 'defaultUpload.png')

如果用户不上传文件,它将存储默认文件的副本。它也处理更新:如果用户删除现有文件,它将存储默认文件的副本。

于 2013-07-19T15:01:31.620 回答
0

为了完整起见,如果您还希望动态生成默认内容,则可以使用手动上传(实际上是“可编程上传”)。

stream = open(filename, 'rb')
db.myfile.insert(image=db.myfile.image.store(stream, filename))
于 2018-03-23T07:57:40.687 回答