您好我正在尝试使用文件上传控件在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");
在我的页面加载均匀,但也无法正常工作。 我已经好几个小时了,有人可以帮助我吗?