【发布时间】:2011-12-12 16:40:56
【问题描述】:
我正在使用 jQuery AJAX 文件上传器上传到 tmp 目录并进行图像预览。这工作正常,但我现在在提交实际表单时无法上传实际图像文件。似乎每当 AJAX 上传器被更改事件触发时,它都会从文件类型输入元素中获取文件对象并提交到隐藏的 iframe 表单。有没有一种方法可以让文件对象即使在图像预览之后也不删除?
【问题讨论】:
我正在使用 jQuery AJAX 文件上传器上传到 tmp 目录并进行图像预览。这工作正常,但我现在在提交实际表单时无法上传实际图像文件。似乎每当 AJAX 上传器被更改事件触发时,它都会从文件类型输入元素中获取文件对象并提交到隐藏的 iframe 表单。有没有一种方法可以让文件对象即使在图像预览之后也不删除?
【问题讨论】:
我找到了解决这个问题的方法。我所做的是将实际上传的文件(通过由 AJAX onchange 事件创建的隐藏 iframe)上传到具有唯一文件名的临时文件夹,然后将此文件名附加到原始表单内的隐藏字段中,然后在用户时在隐藏字段中使用此值提交表单以检索临时文件夹中的文件复制到主图像文件夹,重命名然后使用 unlink() php 函数删除旧的!
哇!这么简单的方法需要做很多工作。我希望 IE 和 Safari 支持 FileReader 对象! (我讨厌 ActiveX!)
【讨论】: