0

我正在处理一个 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" >

但是发生了错误。检查网址。所以有什么想法可以解决这个问题???

4

1 回答 1

1

ResizedBM是一个Bitmap变量,而不是可以在您的 html 中引用的文件的路径。要执行您想要的操作,您可能必须将其保存为文件,然后引用您保存在 href 中的文件。

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

有关图像大小调整的 MVC3 通用处理程序 (.ashx) 的更多信息(需要干净的 URL)

于 2013-08-21T12:26:33.953 回答