使用asp按钮调用fileUpload控件

时间:2014-01-13 05:07:57

标签: asp.net

我正在创建一个应用程序,当我单击按钮并浏览对话框时将显示图像。

这是我的示例布局和代码:

+---------------------------------------------------+
|                                                   |
|                                                   |
|                                                   |
|          CLICK HERE TO INSERT IMAGE               |
|                                                   |
|                                                   |
|                                                   |
+---------------------------------------------------+

<asp:Panel ID="Panel2" runat="server" cssClass="containment-wrapper" style="border:1px solid #000000;">
            <asp:FileUpload ID="FileUpload1" runat="server" style="display:none;"/>
            <asp:ImageButton ID="MainImage" runat="server" CssClass="mainImage" ImageUrl="~/Image/ClickHere.png" OnClick="MainImage_Click"/>
</asp:Panel>

和我的.CS文件

  protected void Page_Load(object sender, EventArgs e)
    {
        MainImage.Attributes.Add("onclick", "document.getElementById('" + FileUpload1.ClientID + "').click();");

    }
   protected void MainImage_Click(object sender, ImageClickEventArgs e)
    {

    }

我可以点击“点击此处插入图片”并显示文件对话框,但我的问题是如何获取所选图像并将其显示在buttonImage上。

1 个答案:

答案 0 :(得分:1)

然后您需要使用FileUpload的PostedFile.SaveAs函数将图像上传到您网站的指定文件夹,并根据需要设置ImageButton的ImageURL属性: -

FileUpload1.PostedFile.SaveAs(HttpContext.Current.Server.MapPath("~/upload/image.jpg"));

确保您的应用程序池正在运行的用户具有对此文件夹的写入权限(在上面的示例中上传)

编辑: -

如果您不想保存图像,您的任务会更难,但可以通过以下方式解决: -

  1. 将PostedFile的InputStream存储到会话变量
  2. 创建一个返回此流的HttpHandler
  3. 将ImageButton的ImageURL指向HttpHandler而不是图像网址