1

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

4

2 回答 2

1

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

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

于 2010-07-09T12:33:48.710 回答
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 中,我可以在使用输入字段后从后面的代码中读取该值。

希望这可以帮助。

于 2011-05-18T21:29:00.503 回答