2015-09-11 274 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");