【问题标题】:upload file and display, but save to database after user submit上传文件并显示,但在用户提交后保存到数据库
【发布时间】:2012-10-14 02:37:19
【问题描述】:

我有一个图片上传表单。当用户选择图像时,将显示该图像,以及一个新的标题输入表单和提交按钮。我知道该怎么做。

想法是,仅当用户单击最终提交时才保存图像和标题。

为此,我是否应该在第一步中保存图像并更新数据库?或者我可以上传到临时文件,如果用户在第二步中提交,继续将文件移动到最终目的地并更新数据库?

【问题讨论】:

  • 这两个选项都很好。在任何一种情况下,如果用户在第一步后离开,您需要清理文件\数据。我会一步完成。
  • @Dagon 问题更像是,如何一步完成。在第2步的表格中,文件路径就足够了?
  • 只需将文件上传和标题输入加在同一个表单中
  • @Dagon 是的。我希望(需要)把它分成两个步骤。
  • " 问题更像是,如何一步完成。"你弄糊涂了

标签: php mysql image-uploading


【解决方案1】:

您应该让表单等待用户提交。否则,您的数据库将溢出未完成(或临时)的标题和图像名称。当用户点击提交时,上传过程开始并测试上传结果,如果 true=insert into your_table values(...)。

【讨论】:

  • 是的,这正是我担心的。我确实想分两步做到这一点。保持表格干净简单。而且我不确定如何将此过程分为两个步骤。
【解决方案2】:

为什么需要 2 个步骤?如果您保存图像只是为了向用户显示图像,您可以使用 HTML5 File Reader API 在上传到服务器之前显示来自用户机器的图像。 . . https://developer.mozilla.org/en-US/docs/DOM/FileReader

【讨论】:

  • 浏览器兼容性很差,从他们在页面上说的。
  • 它适用于支持 html5 的浏览器。 . .但是 IE 支持很差(在 IE 9 中不支持)...但是,您可以通过使用 Modernizer 之类的功能检测库来解决问题,并根据浏览器兼容性添加适当的文件输入元素
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多