PDA

View Full Version : درج عکس



samira3
پنج شنبه 11 شهریور 1389, 07:14 صبح
با سلام
من از کد زیر داخل ashx
استفاده کردم ولی موقع اجرا عکسی به من نشان نمی ده علامت ضربدر می زنه


<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Configuration;
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {


SqlConnection CN336546546= new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ToString());
context.Response.ContentType = "image/jpeg";
context.Response.Write("Hello World");
context.Response.Cache.SetCacheability(HttpCacheab ility.NoCache);
context.Response.BufferOutput = false;
string enc1 = "6";
if (context.Request.QueryString["id"] != null && context.Request.QueryString["id"] != "")
enc1 = context.Request.QueryString["id"].ToString();
System.IO.MemoryStream strm = new System.IO.MemoryStream();
try
{
CN336546546.Open();
SqlCommand cmd = new SqlCommand("SELECT [image] FROM [new] WHERE [id]='" + enc1 + "'", CN336546546);

byte[] img = (byte[])cmd.ExecuteScalar();
strm.Write(img, 0, img.Length);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strm);
bmp.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

}
finally
{
CN336546546.Close();
strm.Close();
}
}

public bool IsReusable {
get {
return true;
}


}

}



چرا حتی دستی مقدار id
پر کردم بازم نشد
من اگه بخوام از این اجرا روی aspx
باشه چی؟
در واقع این کلاس من اسم کلاس اون ور صدا زدم ازم خطا گرفت

اصلا کدی می خوام که بتونم عکس داخل بانکم ببینم
اگه msgbox
بخوام چی؟
کادر پیغام؟:گریه::گریه:

malekzad
پنج شنبه 11 شهریور 1389, 08:32 صبح
اینو امتحان کن

<asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("[profileID]","~/Handler/FileHandler.ashx?ID={0}") %>' />


<%@ WebHandler Language="C#‎‎" Class="FileHandler" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public class FileHandler : IHttpHandler {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "file/image";
SqlConnection con = new SqlConnection("ConStr");
SqlCommand cmd = new SqlCommand("SELECT imgField From Table1 WHERE profileID=@profileID", con);
cmd.Parameters.AddWithValue("@profileID", context.Request["ID"]);
using (con)
{
con.Open();
byte[] file = (byte[])cmd.ExecuteScalar();
context.Response.BinaryWrite(file);
}
}

public bool IsReusable {
get {
return false;
}
}

}

General-Xenon
پنج شنبه 11 شهریور 1389, 12:33 عصر
با سلام
من از کد زیر داخل ashx
استفاده کردم ولی موقع اجرا عکسی به من نشان نمی ده علامت ضربدر می زنه


<%@ WebHandler Language="C#‎" Class="Handler" %>

using System;
using System.Configuration;
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using System.Collections;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {


SqlConnection CN336546546= new SqlConnection(ConfigurationManager.ConnectionStrin gs["ConnectionString"].ToString());
context.Response.ContentType = "image/jpeg";
context.Response.Write("Hello World");
context.Response.Cache.SetCacheability(HttpCacheab ility.NoCache);
context.Response.BufferOutput = false;
string enc1 = "6";
if (context.Request.QueryString["id"] != null && context.Request.QueryString["id"] != "")
enc1 = context.Request.QueryString["id"].ToString();
System.IO.MemoryStream strm = new System.IO.MemoryStream();
try
{
CN336546546.Open();
SqlCommand cmd = new SqlCommand("SELECT [image] FROM [new] WHERE [id]='" + enc1 + "'", CN336546546);

byte[] img = (byte[])cmd.ExecuteScalar();
strm.Write(img, 0, img.Length);
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strm);
bmp.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

}
finally
{
CN336546546.Close();
strm.Close();
}
}

public bool IsReusable {
get {
return true;
}


}

}


چرا حتی دستی مقدار id
پر کردم بازم نشد
من اگه بخوام از این اجرا روی aspx
باشه چی؟
در واقع این کلاس من اسم کلاس اون ور صدا زدم ازم خطا گرفت

اصلا کدی می خوام که بتونم عکس داخل بانکم ببینم
اگه msgbox
بخوام چی؟
کادر پیغام؟:گریه::گریه:
سلام.
شما Connection رو تنظیم نکردین.:چشمک: