2010-06-17 104 views
1

我正在爲我們公司的Intranet用戶開發ASP.NET Web應用程序。我有一個表單,用戶應該提供本地網絡上文件的路徑(類似「\ localServer \ someFolder \ someFile.ext」),而無需上傳實際文件。問題在於用戶不想輸入整個文件路徑並想使用某種可視瀏覽對話框。文件瀏覽器控件替換<input type =「file」>

標準HTML < input type = file >元素允許瀏覽文件,但大多數瀏覽器(IE除外)不允許訪問文件的完整路徑,所以我認爲它應該由一些外部組件如Silverlight,Flash,Java小程序等。

我試圖用Silverlight做到這一點,但是在嘗試使用Silverlight的OpenFileDialog類訪問文件的完整路徑時出現SecurityException。

這個java applet http://jumploader.com/demo_images.html似乎做了類似於我正在尋找的東西,但它專注於上傳文件 - 我只需要能夠獲取文件的完整路徑並將其作爲字符串傳遞到服務器。

任何建議,將不勝感激。

+0

我們在說客戶的個人機器還是服務器?我想你在說客戶的機器? – 2010-06-17 18:42:50

+0

是的,你是對的 - 我正在討論瀏覽客戶端機器可用的本地網絡上的文件。這裏的假設是,服務器將在同一網絡上,並且能夠抓取文件(否則將返回錯誤)。或者,如果我可以使用一些控件,可以將本地網絡提供給客戶端瀏覽器內的服務器,這也適用於我(對我來說可能是更好的解決方案)。 – 2010-06-17 20:22:57

回答

0

這應該可以使用Flash的上傳功能。 SWFUpload有一個API,您可能可以從JavaScript訪問來提取選定的文件名,而無需實際上傳任何內容。見文檔here,例如getFile()

的GetFile用於檢索隊列中的文件對象。通過傳入文件id(文件對象的id屬性)或文件索引(文件對象的索引屬性)來檢索文件。

+0

我需要做同樣的事情。不幸的是,SWFUpload方法getFile()返回一個具有'name'屬性的文件對象。他們的文檔說..「名稱:字符串,\t \t \t //文件名。路徑不包括在內。」 – Garry 2010-09-23 09:46:47

相關問題