如何提交文件的原始路径和文件名而不在ASP.NET中提交文件本身?
题
如何在ASP.NET表单上控制浏览文件,如 FileUpload
控件那样,但不是提交整个文件,而是只提交发现文件的路径from(用原始文件名)?
解决方案
以下是我按照以下论坛帖子的说明制作的解决方法: http://forums.asp.net/p/1189182/2040139.aspx#2040048
<asp:FileUpload ID="File1" runat="server" onchange="GetFileName();"/>
<asp:Button ID="Submit" runat="server" Text="Submit" OnClientClick="DisableFileSelector();" />
<asp:HiddenField id="txtFileName" runat="server" />
<script language="javascript" type="text/javascript">
function GetFileName()
{
document.getElementById('<%=txtFileName.ClientID %>').value = document.getElementById('<%=File1.ClientID %>').value;
}
function DisableFileSelector() {
document.getElementById('<%=File1.ClientID %>').disabled = true;
}
</script>
当然,这只适用于启用JavaScript的情况。如果JavaScript被禁用,表单将提交文件,但您仍然可以通过在第一次使用 txtFileName
之前添加以下代码来维护站点的功能。
if (File1.HasFile)
{
txtFileName.Value = File1.PostedFile.FileName;
}
不隶属于 StackOverflow