刷新图像控件以显示文件上载预览

时间:2013-07-16 18:13:09

标签: c# asp.net file-upload

您好我正在尝试使用文件上传控件在asp.net中显示已上传的img的预览,我有一个预览按钮,当用户点击时应该将文件从fileupload控件保存到我的temp文件夹中服务器并将imagecontrol的imageurl更改为temp文件夹中已保存图像的路径,并在回发后在页面上显示图像。这就是我所做的:

protected void btnPreview_1_Click(object sender, EventArgs e)
    {
        if (!imgUpload_1.HasFile)
        {
            return;
        }

    string strFileName = Path.GetFileNameWithoutExtension(imgUpload_1.FileName.ToString());
    string ext = Path.GetExtension(imgUpload_1.FileName.ToString());
    string loc = "temp/";
    string strImgFolder = Server.MapPath(loc);

    System.Drawing.Image newImage;

    FileUpload img = (FileUpload)imgUpload_1;
    Byte[] imgByte = null;

    try
    {
        if (img.HasFile && img.PostedFile != null)
        {

            HttpPostedFile File = imgUpload_1.PostedFile;

            imgByte = new Byte[File.ContentLength];

            File.InputStream.Read(imgByte, 0, File.ContentLength);
        }
    }
    catch (Exception ex)
    {

    }

    if (imgByte != null)
    {
        using (MemoryStream stream = new MemoryStream(imgByte, 0, imgByte.Length))
        {
            newImage = System.Drawing.Image.FromStream(stream);

            newImage.Save(strImgFolder + strFileName + ext);

            imgPreview.ImageUrl = strImgFolder + strFileName + ext;
            imgPreview.AlternateText = strFileName;
        }
    }
}

我尝试使用处理程序,使用我在网上找到的代码,经过几个小时的尝试,我仍然无法让它工作,我也尝试将一个随机数附加到imageurl的末尾(就像这样imageurl + “?”+ randomnumber强制页面刷新(这也不起作用),我也尝试过:

Response.AddHeader("Cache-Control", "no-cache");

在我的页面加载均匀,但也无法正常工作。 我已经好几个小时了,有人可以帮助我吗?

0 个答案:

没有答案