在ASP.NET的“文件上载”控件中选择文件后立即更新图像控件

时间:2011-06-05 09:16:58

标签: asp.net ajax file-upload updatepanel

我在.NET 2.0(VS.NET 2008)表单中有一个图像控件和文件上传控件。一旦用户在文件上传控件中选择图像文件,我希望图像出现在表单的图像控件中。这样做的方法是什么?

(文件上传似乎支持的唯一事件是'OnChange',我不知道足够的javascript来根据FileUpload的内容更新Image1.URL。)

谢谢, 泽。

3 个答案:

答案 0 :(得分:2)

您需要上传Asynchronously,然后您可以尝试使用AJAX AsyncFileUpload,这就是您所期待的...... http://asp.net-informations.com/ajax/ajax-AsyncFileUpload.htm

答案 1 :(得分:0)

我认为这是一个很好的例子:

http://www.codeproject.com/KB/ajax/AJAXUpload.aspx

这也是一个很好的起点:

http://www.eggheadcafe.com/community/aspnet/2/10204276/how-to-display-image-when-upload-image.aspx

或在这里:

http://www.eggheadcafe.com/community/aspnet/2/10236947/image-upload-and-display.aspx

<强>更新

  protected void Button4_Click(object sender, EventArgs e)
    {
        string strExtn;
        string strpostedfile;

        strpostedfile = fileuploading.PostedFile.FileName;
        strExtn = System.IO.Path.GetExtension(strpostedfile);
        strExtn = strExtn.ToLower();

        string strEx = Path.GetExtension(fileuploading.PostedFile.FileName).ToLower();
        String filename = Path.GetFileName(fileuploading.FileName);
        filename = filename.Remove(filename.Length - strEx.Length);

        fileuploading.SaveAs(Server.MapPath("~/Photos/") + filename);
        uploadImage.ImageUrl = "~/Photos/" + filename;

    }

页:

  <asp:FileUpload ID="fileuploading" runat="server" />
<asp:Button ID="Button4" runat="server" onclick="Button4_Click" Text="Button" />
<br />
<asp:Image ID="uploadImage" runat="server" />

答案 2 :(得分:0)

您正在寻找一种预览吗?您只能在上传文件后向用户显示图像。我很确定用户必须主动这样做(否则你可以尝试从浏览器中读取整个文件系统)