【发布时间】:2014-10-15 17:50:23
【问题描述】:
我使用 web2py 制作了一个非常简单的单用户数据库应用程序,以部署到台式机上。我选择 web2py 的原因是它的简单性和非侵入式 Web 服务器。
我的问题是我需要从另一个应用程序迁移现有数据库,该应用程序刚刚预处理并准备成一个 csv 文件,现在可以完美地导入 web2py 的 sqlite 数据库。
现在,我在其中一个表中的“上传”字段存在问题,该字段对应于一个小图像,我已将该字段格式化为 de csv,并使用我创建的相应 .jpg 文件的名称从原始数据库中提取。问题是我没有管理如何将这些正确插入到上传文件夹中,因为 web2py 引擎会自动将用户上传的文件名更改为安全格式,并且将我的文件直接复制到文件夹中不起作用。
我的问题是,有人知道将此图像集包含到上传文件夹中的正确方法吗?我不知道是否有办法禁用此保护,或者我是否必须手动将其名称更改为有效的哈希值。我还考虑过将自动插入过程编码到数据库中的想法......
感谢大家的关注!
编辑(一个工作示例):
一个示例数据库:
db.define_table('product',
Field('name'),
Field('color'),
Field('picture', 'upload'),
)
然后使用我的应用程序中的默认 appadmin 模块,我导入了一个包含以下表单条目的 csv 文件:
product.name,product.color,product.picture
"p1","red","p1.jpg"
"p2","blue","p2.jpg"
然后在我的应用程序中我有通常的下载功能:
def download():
return response.download(request, db)
我称之为请求上传到数据库的图像,例如,包含到视图中:
<img src="{{=URL('download', args=product.picture)}}" />
所以我的问题是我拥有与数据库记录相对应的所有图像,我需要将它们导入到我的应用程序中,方法是将它们正确包含到上传文件夹中。
【问题讨论】:
-
任何具体的代码、输入、实际和预期的结果?
-
更新了现有输入和预期结果的示例。谢谢。