【发布时间】:2011-02-12 14:21:00
【问题描述】:
我正在创建一个 Web 应用程序(在 Django 中),它需要允许用户上传文件(特别是图像,稍后会显示给其他用户)。我正在尝试了解存储这些上传文件的最佳方式。
从相关问题中,我看到有人建议给文件一个服务器生成的 unqiue id,然后创建一个将 id 映射到原始文件名的数据库表。
从安全性、效率或任何其他角度来看,这是存储用户上传文件的最佳方法吗?我应该为每个文件存储什么样的信息?
在接受用户上传的文件方面是否还有其他最佳实践? (除了确保它们确实是图像并检查它们的大小之外,显然)?
编辑:关于我需要什么的更多信息。我说的是用户需要上传和嵌入到他们创建的内容中的图像文件。把它想象成 StackOverflow 的答案(或博客文章):有人上传了一张图片,只要其他人看到答案,就必须存储和显示。
谢谢,
Edan
注意:有几个相关的问题,但我没有找到一个要求比较存储用户上传文件的方法。
【问题讨论】:
-
嗨,edan,我遇到了同样的问题。我将创建用户可以上传图像/pdf 的应用程序。然后他们可以查看/下载文件。我正在考虑文件系统存储。只是想从您的经验中了解您更喜欢哪种方式?
-
我计划的方向是: 1. 保存“元”信息(原始文件名等)的数据库。 2. 文件系统上的物理文件,其名称是元信息数据库的索引。顺便说一下,每个数据库条目可以有多个物理文件,例如对应于不同的分辨率。例如,我将有文件:254_high_res.jpg、254_los_res.jpg,其中 254 是文件 254 元信息的数据库中的索引。
-
感谢伊丹。我将使用 radon guid 生成的名称作为文件名存储图像。对于不同的分辨率,我将使用处理程序。 dotnetslackers.com/articles/aspnet/…
标签: database django upload file-upload