2010-07-09 80 views
1

我正在使用<input type="file" />作爲MVC中的文件瀏覽器對話框。我實際上並不想上傳該文件,但我正在使用它來選擇共享驅動器上的模板。我只想在我的操作方法中獲得完整的文件路徑。然後服務器將處理該文件並強制下載到客戶端。我已經掌握了HttpPostedFileBase對象,但我沒有看到filepath屬性。這可能嗎?或者,如果沒有,還有哪些其他選項可用?ASP.NET文件瀏覽器獲取文件路徑

回答

1

您將永遠無法從文件上傳框中獲取文件的完整路徑,因爲這是一個安全問題。沒有瀏覽器會通過你的完整路徑,只有文件名。

此外,文件上傳框始終會上傳文件。不幸的是,很像安全問題的完整路徑,沒有辦法顯示文件對話框並讓用戶選擇文件而不啓動上傳。

0

您可以嘗試在輸入中添加onchange javascript事件,並將該值寫入隱藏字段。然後,只需從隱藏字段中讀取值即可。它將包含輸入字段文本框部分中的所有內容。

<input type="file" name="fileUploader" id="fileUploader" onchange="filePath.value = fileUploader.value;" /> 
<input type="hidden" name="filePath" id="filePath" /> 

我還沒看着它與MVC,但在ASP.Net我能使用輸入後場背後來讀取代碼值。

希望這會有所幫助。