2011-03-09 117 views
0

我需要讓我的用戶將文件路徑發送到網絡服務器。爲此,我試圖使用輸入文件類型,以便用戶可以選擇文件。請注意,我不想上傳文件。我只需要一些文件的位置。所以用戶應該可以使用瀏覽選項來做到這一點。我知道由於瀏覽器中的某些安全原因,完整路徑不會發送到服務器。但是我們可以通過某種方式獲得這種成就嗎?我觀察到,在用戶使用瀏覽選項選擇某個文件(因爲無法選擇文件夾)後,使用input type = file,Firefox將服務器發送給文件名,IE將發送文件的完整路徑(包括文件名)。html + javascript:使用瀏覽選項瀏覽文件夾

請注意,這個網站在內部使用,所以它不是一個安全問題,所以不要擔心安全和所有。

有反正我們可以實現這個嗎?

由於提前, Sreed

+0

如果你可以解釋爲什麼你需要發送本地路徑到服務器,那麼可能有更好的解決方案。通常服務器無論如何都不能對這樣的路徑做任何事情。 – RoToRa 2011-03-09 16:04:25

+0

我的web服務器通過傳遞文件路徑來執行另一個應用程序。該應用程序然後使用傳遞的文件路徑來執行一些操作。 – Sreed 2011-03-09 16:33:21

回答

1

你需要使用的東西,可以訪問文件系統。 BY DESIGN javascript/html無法做到這一點。您需要使用flash,java或瀏覽器插件。

1

不,可悲的是我不認爲有。

所有現代瀏覽器都會發送C:\Fakepath路徑。就我所知,在任何瀏覽器中,本地網絡無法更改此行爲。

我不確定事情的狀態對於基於Flash的上傳器如SWFUploadUploadify。與傳統的瀏覽器控件相比,Flash傳統上可以更好地控制這些數據。 (編輯:Uploadify似乎給你的文件路徑見這個問題:How can I get the uploaded file details from uploadify after completion然而,這當然是後一個完整的上傳,這是不是你想要的。)

基於

一個Java小程序的解決方案將能要做到這一點,但我期望實現這個的努力是巨大的

我會考慮使用正常的文本文件,並要求用戶只複製+粘貼正確的路徑。

+0

感謝您的申請。我們目前正在要求我們的用戶使用輸入文本字段正常提供路徑。但他們想要一個瀏覽選項。 – Sreed 2011-03-09 16:05:51

+0

@Sreed如果你說Flash,或者認識一個Flash開發人員,可能在那裏做這件事......如上所述,Uploadify似乎提供了這種可能性,但它當然與該特定程序中的實際上傳結合在一起。 – 2011-03-09 16:12:11

0

瀏覽器不允許保存甚至看不到從<input type="file" />表單元素中選定文件的完整文件路徑。我會爲你的需要推薦Flash或Java。您也可以讓用戶手動鍵入完整路徑......只是一個想法。

+0

我們目前只有輸入文字實現。但我們的用戶想要使用瀏覽按鈕選擇路徑 – Sreed 2011-03-09 16:35:45