2
私は外部のウェブサイトからイメージを提供するハンドラを持っています。これは、自分自身で絶対にうまく動作します。イメージsrcはハンドラによって提供される外部イメージを表示しません
しかし、イメージsrc属性でハンドラを使用しても機能しません。
これはハンドラへの私が作る呼び出しです:
<img src="myhandler.ashx?image=http://nssdc.gsfc.nasa.gov/image/planetary/venus/gal_venus_37218.jpg"/>
これは、ハンドラのコードです:
using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Drawing;
using System.Net;
using System.IO;
using System.Drawing.Imaging;
namespace MumsChoice.Portal.UI.Handlers
{
/// <summary>
/// Summary description for $codebehindclassname$
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class ExternalImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Bitmap bitOutput = null;
Stream stream = null;
string contentType = string.Empty;
try
{
WebRequest req = WebRequest.Create(context.Request.QueryString["image"]);
WebResponse response = req.GetResponse();
contentType = response.ContentType;
stream = response.GetResponseStream();
bitOutput = new Bitmap(stream);
}
catch
{
bitOutput.Dispose();
}
finally
{
stream.Close();
stream.Dispose();
stream = null;
}
ImageFormat format;
switch (contentType)
{
case "image/png":
format = ImageFormat.Png;
break;
case "image/gif":
format = ImageFormat.Gif;
break;
default:
format = ImageFormat.Jpeg;
break;
}
context.Response.ContentType = contentType;
bitOutput.Save(context.Response.OutputStream, format);
bitOutput.Dispose();
return;
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
任意のアイデアなぜですか?
放火犯のNETコンソールで確認し、開発ツールでクロームネットワーク]タブをまたはブラウザが実際のWebConfigは、新しいハンドラを知ってい – madaboutcode
サーバに要求し何フィドラー? http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.processrequest(v=vs.80).aspx – rt2800
私はあなたがデバッグするには、スローエラーがあるかどうかを確認する必要があると思いますあなたがイメージを取得して送信するかどうかを確認し、問題となっているものがimgタグにある場合は、URLエンコードを使用してhttp://をエンコードします。また、私はremvoe WebServiceとWebServiceBindingこれはハンドラに属していません。 – Aristos