嗨,我正在尝试使用文件上传控件在 asp.net 中显示上传的 img 的预览,我有一个预览按钮,当用户单击时,应将文件从 fileupload 控件保存到我服务器上的临时文件夹中并更改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");
在我的页面加载中,这也不起作用。我已经做了几个小时有人可以帮我吗?