باسلام
من يك جدول در ديتابيس دارم كه يكي از فيلدهاي آن يك فايل
pdf مي باشد وآن را از نوع image تعريف كردم من چطوري مي تونم اونو از ديتابيس بخونم وتوي adobe reader نمايش بدم؟
لطفا اگه ميدونيد به من كمك كنيد. من خيلي به اين كد نياز دارم
Printable View
باسلام
من يك جدول در ديتابيس دارم كه يكي از فيلدهاي آن يك فايل
pdf مي باشد وآن را از نوع image تعريف كردم من چطوري مي تونم اونو از ديتابيس بخونم وتوي adobe reader نمايش بدم؟
لطفا اگه ميدونيد به من كمك كنيد. من خيلي به اين كد نياز دارم
اين كديه كه من براي گرفتن بايتهاي فايلي كه در ركوردي با خصوصيت image هستند از اون استفاده كردم.
بعدش با يك فايل generic اونو فرا خوني كردم.کد:public static Stream getp(int id)
{
try
{
if (id != null && id != 0)
{
SqlConnection l = new SqlConnection(ConfigurationManager.ConnectionStrings["logConnectionString1"].ConnectionString);
SqlCommand s = new SqlCommand("", l);
s.CommandText = "select name from [photos] where id=" + id.ToString();
l.Open();
name = s.ExecuteScalar().ToString();
l.Close();
}
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["logConnectionString1"].ConnectionString);
SqlCommand cmd = new SqlCommand("Getpic", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ID", id));
con.Open();
object pics = cmd.ExecuteScalar();
try
{
return new MemoryStream((byte[])pics);
// return (byte[])pics;
}
catch
{
return null;
}
con.Close();
}
catch (System.Exception ex)
{ return null; }
}
حالا نمي دونم چقدر به كارتون مي ياد ولي براي اين كار كافيه در فايل generic نوع فايل رو از image به pdf/application تغيير دهيد تا به اون صورت خوانده بشه و بعد با acrobat اونو آدرس دهي كنيد.کد:using System;
using System.IO;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "image/jpeg";
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.BufferOutput = false;
try
{
if (context.Request.QueryString["id"] != null && context.Request.QueryString["id"] != "")
{
int idn = Convert.ToInt32(context.Request.QueryString["id"]);
Stream stream = pic.getp(idn);
const int buffersize = 1024 * 16;
byte[] buffer = new byte[buffersize];
int count = stream.Read(buffer, 0, buffersize);
while (count > 0)
{
context.Response.OutputStream.Write(buffer, 0, count);
count = stream.Read(buffer, 0, buffersize);
}
}
}
catch (System.NullReferenceException ex)
{
context.Response.Write("We don't have this picture");
}
}
public bool IsReusable {
get {
return false;
}
}
}
مرسي امين
ببخشید دیتا بیس چیه؟
باتشكر
ببخشيد من با #c خيلي كار نكردم ميشه راجع به فايل generic يه كم توضيح بديد كه اونو كجا مي نويسند و
اينكه چطوري اونو با Acrobat آدرس دهي كنم.
نقل قول:
نوشته شده توسط Quick
SQL SERVER