- PR -

SQLServer Image型に保存された画像の表示について

投稿者投稿内容
ya
大ベテラン
会議室デビュー日: 2002/05/03
投稿数: 212
投稿日時: 2004-10-26 21:48
引用:

<img src="image.aspx">と指定して、image.aspx 側でBinaryWriteしてやれば画像は表示されますけど、そういう事ではなく?


ashxのほうがいいかも。ぐぐったらどっとねっとふぁんさんが引っかかりました。
http://homepage3.nifty.com/dotnetfan/web/web22.html

DBから取得だとこんな感じですか?
コード:
<%@ WebHandler language="C#" class="MyResource" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

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

	private const string connectionString = "xxx";
	public void ProcessRequest(HttpContext context)
	{
		int id;
		try
		{
			id = int.Parse(context.Request.QueryString["id"]);
		}
		catch(Exception)
		{
			context.Response.StatusCode = 404;
			return;
		}

		using(SqlConnection con = new SqlConnection(connectionString))
		using(SqlCommand cmd = new SqlCommand("SELECT * FROM [Resources] WHERE [ID] = @ID", con))
		{
			cmd.Parameters.Add("@ID", SqlDbType.Int).Value = id;

			con.Open();
			using(SqlDataReader r = cmd.ExecuteReader())
			{
				if(r.Read())
				{
					context.Response.ContentType = Convert.ToString(r["ContentType"]);
					context.Response.BinaryWrite( (byte[])r["Value"] );
				}
				else
				{
					context.Response.StatusCode = 404;
				}
			}
		}
	}
}


きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-27 11:01

ASP.NET 2.0が変えるWebアプリ開発の世界 第2回に、「ASP.NET 2.0で追加された主なサーバ・コントロール」という一覧があるんですが、その中に

DynamicImage : 動的に生成された画像を出力

という項目がありました。これってもしかして…。
saku
会議室デビュー日: 2004/10/18
投稿数: 9
投稿日時: 2004-10-27 15:16
引用:

きくちゃんさんの書き込み(2004-10-26 09:35)より:

<img src="image.aspx">と指定して、image.aspx 側でBinaryWriteしてやれば画像は表示されますけど、そういう事ではなく?



私も <img src="image.aspx"> で作り直すことにしました。
1画面で複数画像表示もクエリストリングで解決しました。

<img src="image.aspx?key=XX">

感謝!m(__)m
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-27 22:06
引用:

きくちゃんさんの書き込み (2004-10-27 11:01) より:

ASP.NET 2.0が変えるWebアプリ開発の世界 第2回に、「ASP.NET 2.0で追加された主なサーバ・コントロール」という一覧があるんですが、その中に

DynamicImage : 動的に生成された画像を出力

という項目がありました。これってもしかして…。



 はい、『<img src="image.asxi">』が出力されました(笑)
_________________

スキルアップ/キャリアアップ(JOB@IT)