Come inviare il percorso e il nome file originali di un file senza inviare il file stesso in ASP.NET?

StackOverflow https://stackoverflow.com/questions/625524

  •  05-07-2019
  •  | 
  •  

Domanda

Come posso avere un controllo su un modulo ASP.NET che cerca i file come fa il controllo FileUpload , ma invece di inviare il file intero, invia solo il percorso da dove è stato trovato il file da (con il nome del file originale)?

È stato utile?

Soluzione

Ecco una soluzione alternativa che ho fatto seguendo le istruzioni del seguente post sul forum: 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>

Ovviamente, questo funziona solo se JavaScript è abilitato. Se JavaScript è disabilitato, il modulo invierà il file, ma è comunque possibile mantenere la funzionalità del sito aggiungendo il seguente codice prima di utilizzare la prima volta txtFileName .

if (File1.HasFile)
{
    txtFileName.Value = File1.PostedFile.FileName;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top