在表单提交之前上传图片Django

时间:2016-07-27 06:26:00

标签: django database image-uploading

我想上传图片Facebook样式:在提交表单之前选择图片,当它们全部上传时,立即提交表格。我知道如何在前端做到这一点,但问题在于后端。我找到了一些管理后端图像的方法,但我并不满意。所有这些都是避免存储不会被使用的照片,例如用户关闭浏览器而某些照片已经上传时。我想到了3种上传方式,但我不知道哪种方式最好:

  1. 创建一个" tmp"目录并将所有上传的照片放在那里,并在提交表单时将所有使用过的照片移动到另一个目录。 (使用此方法可能会出现一些并发问题)
  2. 在我的数据库中创建一个TempPhoto表,并执行与上一个解决方案相同的操作,将使用过的照片从TempPhoto移动到永久表。
  3. 将照片直接添加到永久表中,并在预定时间删除未使用的照片(与其他实体无关)。 (我想这将是一个较慢的解决方案)

1 个答案:

答案 0 :(得分:1)

我认为你改革的第一种方式是最好的方法。您可以创建一个tmp目录并将唯一数据(例如IP地址)附加到控制并发的每个图像上,然后在$(window).unload(...)中编写一些脚本,以便向后端发送信号以删除图像(s)当用户在提交表单之前关闭窗口时从tmp目录。