想要上传图像,调整图像大小并在新窗口中显示

时间:2013-08-21 12:20:19

标签: c# asp.net

我正在处理Image.aspx表单,我想上传图片,调整图片大小并在新窗口中显示。

我在这里上传图片,

UploadPath = Server.MapPath("../BrandPic/" + cmbImages.SelectedValue);
FileName = cmbImages.SelectedValue;
Bitmap OriginalBM = new Bitmap(UploadPath);

我在这里调整大小

int NewWidth = 1024;
int newHeight = 768;
Size newSize = new Size(NewWidth, newHeight);
Bitmap ResizedBM = new Bitmap(OriginalBM, newSize);

我在这里传递

HttpContext.Current.Session["Pic"] = ResizedBM;

以下是我在新窗口中打开图片的源代码

<a href='<%=Convert.ToString(HttpContext.Current.Session["Pic"])%>' rel="lightbox" >

但是发生了错误。检查URL。 所以任何想法都可以解决这个问题???

1 个答案:

答案 0 :(得分:1)

ResizedBMBitmap变量,而不是可以在html中引用的文件的路径。要做你想做的事,你可能需要将其保存为文件,然后引用你在href中保存的文件。

您可以使用像resizedImage.ashx这样的通用处理程序,您可以将图像ID传递给它。然后您的链接将是<a href='resizedImage.ashx?id=[your image id]' rel='lightbox'>link text</a>。该通用处理程序将调整图像大小并将图像输出到浏览器

MVC3 generic handler (.ashx) for Images resizing (Need clean URL)

的更多信息