2010-07-09 128 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我能使用输入后场背后来读取代码值。

希望这会有所帮助。