簡體   English   中英

通過Javascript進行Html文件上傳預覽

[英]Html file upload preview by Javascript

我想為一篇文章展示一個PREVIEW類的東西,所以JS的細節

但問題來自於<input type="file" ,它沒有提供文件的完整路徑

例如:如果我這樣做

$("#image").val();

它只給“Sunset.jpg”而不是C:\\ Documents and Settings \\ All Users .... \\ Sunset.jpg

任何想法如何獲得細節價值?

雖然正如其他人已經指出的那樣,你無法在JavaScript中學習文件的完整路徑,但是對於這個問題,完全不同的方法可能仍然適合你。

您可以在訪問者選擇它后立即自動上傳照片(您在GMail中看到的行為以及其他應用程序),因此即使訪問者繼續與您的頁面進行交互,它也會駐留在您的服務器上。 此時,顯示預覽就像從您自己(現在服務器端)的圖像副本自己提供預覽一樣簡單。

這是出於安全原因,因此您無法使用JavaScript從用戶系統中讀取文件。

如果您找到解決方法,瀏覽器供應商可能會盡快發布安全補丁。 我知道,因為在IE的早期版本中,可以讀取完整路徑並因此顯示預覽,至少如果文件是圖像。 我在CMS用戶界面中使用過它,但當然這個漂亮的功能被IE服務版本破壞了: - /

通常,出於安全原因,文件上載控件在某種程度上是“黑盒子”。 您只能非常有限地訪問腳本和樣式。 這樣您就無法在用戶不知情的情況下窺探或上傳文件,或者因此您無法欺騙用戶使用欺騙性界面上傳文件。

現在可以從Firefox 3.6 https://developer.mozilla.org/en/DOM/FileList開始

雖然他們展示的代碼似乎在Chrome中不起作用,但我猜這個類似的HTML5 JavaScript API還沒有標准化。

這是一項安全功能。 您無法在安全的瀏覽器中更改或獲取整個路徑,因此無法完成您想要做的事情。 如果你使用像Flash,Silverlight或Java這樣的東西,那么它應該相對容易。

據我所知,沒有辦法在javascript中做你想做的事情。 這是一個非常大的安全問題 - 在瀏覽器中訪問文件系統。

有一些瀏覽器插件(java / flash /齒輪)可能允許你做這種事情。 我知道使用齒輪可以讓用戶選擇一個文件 - 並打開它以使用JS讀取內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM