我正在处理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。 所以任何想法都可以解决这个问题???
答案 0 :(得分:1)
ResizedBM
是Bitmap
变量,而不是可以在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)
的更多信息