2010-10-29 73 views
2

我們的webform上傳了一個文件,並且只是一個普通的圖片框。現在我們已經有了保存圖片和檢索圖片的代碼,但是如何在不保存圖片的情況下顯示他們選擇的圖片,然後刷新頁面並顯示圖片?這是一個JavaScript的東西?顯示用戶剛挑選的圖片?

在此先感謝。

+0

什麼是「普通圖片框」 - 一個'img'元素?他們選擇的圖片是指用戶上傳的圖片嗎? – LarsH 2010-10-29 19:09:00

+0

它是一個圖像控件。我希望它在選擇它後立即顯示圖像。基本上,顯示它之前它被上傳 – broke 2010-10-29 19:10:56

+0

需要不同的技術 – epascarello 2010-10-29 19:32:32

回答

5

大多數瀏覽器不允許這樣。提交提交將與表格一起提交,但不會提供給JavaScript。這是爲了防止JavaScript訪問本地文件。

你最好的解決辦法就是使用AJAX上傳的文件,然後從服務器中檢索和顯示。該解決方案使初始視圖花費更長時間,但如果用戶決定它是他們想要的文件,則可以避免再次將其發送到服務器,並將其從臨時存儲區域移動到永久存儲區域。

+0

+1之外的任何Ajax建議。絕對是正確的路要走。 – 2010-10-29 19:23:18

+0

好的建議。謝謝。 – broke 2010-10-29 19:37:31

3

這絕對是不使用JavaScript可能。它可能可能與 Flash上​​傳(但我真的不知道Flash)。 JavaScript沒有任何對主機文件系統的直接訪問。


關於第二個想法 - 有可能注入的img標籤,其srcfile:// URL。不過,我不確定這一點。現在檢查。

+0

閃存不允許,要麼,都只能訪問一個文件名,並在POST請求提交的文件。 – 2010-10-29 19:14:14

+0

哦,這很糟糕。我希望這不會變得複雜。 – broke 2010-10-29 19:14:32

+2

是的,安全限制可以讓事情變得更難,但他們肯定是有原因的。 – 2010-10-29 19:15:17