1

Web サービスを使用して Web サイト C# を aspx に画像を取得する方法を教えてください。私のWebサービスコードは以下です。

public List<byte[]> getBlueBallImageDefault()
{
    string strCMD = "SELECT blueBallImage FROM CorrespondingBall WHERE objective = 0";
    SqlCommand cmd = new SqlCommand(strCMD, conn);
    SqlDataReader dr = cmd.ExecuteReader();

    List<byte[]> blueBallImageDefaultByteList = new List<byte[]>();
    while (dr.Read())
    {
        blueBallImageDefaultByteList.Add((byte[])dr["blueBallImage"]);
    }
    return blueBallImageDefaultByteList;
}

[WebMethod]
public List<byte[]> getBlueBallImageDefault()
{
    List<byte[]> blueBallImageDefaultByteList = new List<byte[]>();
    con.dbConnect();
    blueBallImageDefaultByteList = con.getBlueBallImageDefault();
    con.dbClose();

    return blueBallImageDefaultByteList;
}
4

1 に答える 1

0

ASP.NET ページを使用しているときに Web サービスを使用する利点は何ですか? Web サービス、特に SOAP は、呼び出しの詳細を含む XML エンベロープのようなものを想定しています。HttpHandler を使用する方がよいでしょう。

public class ImageHandler : IHttpHandler 
{ 
  public bool IsReusable { get { return true; } } 

  public void ProcessRequest(HttpContext ctx) 
  { 
    var myImage = GetImageSomeHow();
    ctx.Response.ContentType = "image/png"; 
    ctx.Response.OutputStream.Write(myImage); 
  } 
}

ソース: ASP.NET .aspx リンクからの戻り画像

ところで、Web サービスで画像を返すサンプル コードは次のとおりです

更新:画像スロー Web サービスを取得するためのサンプル ソース コードを含む this も見つかりました

Web サービスの戻り値を HTML コードの画像に直接バインドできないことに注意してください。これにはちょっとした JQuery テクニックが必要かもしれません。

于 2013-09-30T04:08:27.553 に答える