2015-09-11 448 views
0

我有一个简单的HTML文件上传输入:HTML允许同名文件上传

<input name="ImageFile" id="imageInput" type="file" accept=".jpg, .jpeg" /> 

我想允许在一排要上传的文件名相同。例如,

首先我上传的图像,然后我看到它显示,并决定这不是我喜欢它,所以我在Photoshop(或其他照片编辑器),打开它,我做出一些改变。现在我想重新上传它。

有了这个当前的输入字段,我不能这样做。我必须:

一)变更名称

B)有办法重新上传

之前清除输入字段我希望发生的是有上传。字段清除现有文件,从而允许上传相同的文件而不会发生冲突。或者,如果HTML具有允许再次上传相同文件的属性(并且具有在Photoshop中更新的更改)。

我不希望我的用户通过按下X按钮有几个原因手动清除输入。

注意:我无法清除选择框弹出时的文件输入,因为如果他们按取消,它仍然会删除图像。我知道我可以通过在删除图像之前保存图像来避免这种情况,但这看起来像一个非常丑陋的黑客。

有人可以帮我解决这个问题吗?有没有简单的黑客/解决方法或者这是不可能的?

+0

; move_uploaded_file()?如果是这样,则需要在再次添加文件名之前取消链接()文件名。 – Nibb

+0

我想我只是从最近在PHP – Nibb

+0

中执行此操作而引发的麻烦。我使用复制功能。 – Nic

回答

0

我上次使用的文件上传字段,我可以只打F5,补办时,在浏览器提示的形式,它会上传与应用的更改文件。

所以,它听起来就像你正在做的事情不仅仅是一个“简单”的文件上传更多。如果您在收听onchange,请考虑在成功上传后拨打.reset()将其清除。

+0

对于我或者理解为选项的人来说,这是一个很好的方式。但对于我的用户,我不能认为他们知道这一点。 – Nic

+0

另外,上传后我无法清除它,因为我在PHP中使用它来获取位置。 – Nic

0

这看起来像图像只会缓存在您的浏览器。看看这篇文章,以防止缓存Here

从上面的链接:什么是你要使用从后台检索文件

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");