0

我有一个包含文件上传的表单。

在将表单的内容保存到我的数据库之前,我需要使用 javascript 从文件中提取一些元信息。

如果有的话,最好的方法是什么?

澄清一下:问题不在于提取文件元,而是如何访问 $_FILES 数组并使用此数据执行 js 文件,然后最终允许表单提交到服务器。

我目前如何实现这一目标:

  1. 我将表单提交给控制器操作
  2. 它保存数据,然后在成功提交表单后重新渲染初始视图之前,使用上传文件的位置设置一个视图变量
  3. 视图检查是否设置了变量,如果是,则执行基本上提取元的 javascript,因为它可以访问文件所在的位置,并使用 ajax 调用更新数据库。

上述方法并不理想,因为元数据属于表单首次提交时保存的同一行数据,因此理想情况下,我想将其包含在初始表单提交中,而不是在表单提交后再次呈现页面时包含. 对我来说似乎有点肮脏,但我还没有看到另一种可以实现的方式。

4

2 回答 2

0

什么样的元数据?要回答您的问题,是的,这是可能的,但前提是浏览器支持 File API。这不包括 IE9 和更早版本。有关更多信息,请参阅有关 FileReader 的 MDN 文章。有各种库可以从文件中提取特定类型的元数据。例如,如果您有兴趣从图像文件中解析 EXIF 元数据,您应该查看类似jQuery-fileExif 的内容

于 2013-04-08T02:33:15.070 回答
0

我建议使用 ajax (SWFUpload/Uploadify) 上传,然后将数据与处理后的文件数据一起发送回视图。

您可以上传文件,发出许多回调,最后将渲染的文件数据返回给发出请求的等待 JavaScript 函数。

只是我的两分钱

于 2013-04-08T19:50:16.097 回答