ASP.NETでファイル自体を送信せずに、ファイルの元のパスとファイル名を送信するにはどうすればよいですか?

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

  •  05-07-2019
  •  | 
  •  

質問

FileUpload コントロールと同じようにファイルを参照するASP.NETフォームにコントロールを配置するにはどうすればよいですか? 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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top