ASP.NET文件浏览器获取文件路径

时间:2010-07-09 12:25:08

标签: asp.net html file-upload input openfiledialog

我在MVC中使用<input type="file" />作为文件浏览器对话框。我实际上并不想上传文件,我用它来选择共享驱动器上的模板。我只想在我的action方法中获取完整的文件路径。然后,服务器将处理该文件并强制下载到客户端。我已经掌握了HttpPostedFileBase对象,但是我没有看到filepath属性。这可能吗?或者如果没有,还有哪些其他选择?

2 个答案:

答案 0 :(得分:1)

您永远无法从文件上传框中获取文件的完整路径,因为这是一个安全问题。没有浏览器会传递完整路径,只传递文件名。

此外,文件上传框将始终上传文件。不幸的是,就像完整路径的安全问题一样,没有办法显示文件对话框并让用户选择文件而不启动上传。

答案 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中我能够在使用输入字段后从后面的代码中读取该值。

希望这有帮助。

相关问题