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" >

しかし、エラーが発生しました。URL を確認してください。この問題を解決するためのアイデアはありますか???

4

1 に答える 1

1

ResizedBM変数でありBitmap、html で参照できるファイルへのパスではありません。必要なことを行うには、ファイルとして保存してから、href に保存したファイルを参照する必要があります。

画像 ID を渡すことができる resizedImage.ashx のような汎用ハンドラーを持つことができます。次に、リンクは になります<a href='resizedImage.ashx?id=[your image id]' rel='lightbox'>link text</a>。その汎用ハンドラーは画像のサイズを変更し、画像をブラウザーに出力します

画像のサイズ変更に関する MVC3 ジェネリック ハンドラ (.ashx) の詳細情報(クリーンな URL が必要)

于 2013-08-21T12:26:33.953 に答える