如何提交文件的原始路径和文件名而不在ASP.NET中提交文件本身?

时间:2009-03-09 09:19:45

标签: asp.net file submit

如何在FileUpload控件上浏览文件的ASP.NET表单上有一个控件,但是它不提交整个文件,而只提交文件的路径(从中找到)原始文件名)?

1 个答案:

答案 0 :(得分:0)

以下是我按照以下论坛帖子的说明制作的解决方法: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;
}