web-dev-qa-db-ja.com

asp.net fileuploadにアップロード後に画像を表示する方法

更新パネル内にあるfileuploadコントロールがあります。アップロード完了後に画像を表示したい。以下は私のhtmlコードです

<form id="form1" runat="server">
    <br />
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <br />
    <div>
        <br />
        <table width="50%" cellpadding="2" cellspacing="0">
            <br />
            <tr>
                <br />
                <td>
                    <br />
                    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
                        <ContentTemplate>
                            <br />
                            <asp:FileUpload ID="FileUpload1" runat="server" /><br />
                            <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /><br />
                        </ContentTemplate>
                        <Triggers> <asp:PostBackTrigger ControlID="btnUpload" /> </Triggers>  
                    </asp:UpdatePanel>
                    <br />
                      <asp:Image ID="imgViewFile" runat="server" />
                </td>
            </tr>  
        </table>
        <br />
    </div>
    <br />
</form>

以下はmycodeです

protected void btnUpload_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        FileUpload1.SaveAs(MapPath("~/TEST/" + FileUpload1.FileName));
        imgViewFile.ImageUrl = Server.MapPath("~/TEST/" + FileUpload1.FileName);
    }       
}

しかし、画像はアップロード後にファイルを表示していません。誰かがこれを手伝ってくれますか?

7
sandeep.mishra

パスを設定

imgViewFile.ImageUrl = "~/TEST/" + FileUpload1.FileName;

また、更新パネル内に画像を配置します

     <br />
    <asp:Image ID="imgViewFile" runat="server" />
</asp:UpdatePanel>
6
Damith

私にもこの問題があり、Damithが提案したことを行いましたが、私の場合、AsyncnPostBackTriggerではなくTriggerPostBackTriggerを使用していることに気づきました。それから、それは働き始めました。同じ間違いをしたかどうかを確認することもできます。

1
Simpa