View Full Version : نمایش کدهای باینری در asp
rasame
چهارشنبه 20 دی 1385, 12:24 عصر
سلام
من می خواهم یه عکس رو که در database به صورت باینری ذخیره شده رو با زبان asp روی صفحه نمایش بدم
ممکنه کسی این کد رو در اختیار من بذاره ؟
M-Gheibi
چهارشنبه 20 دی 1385, 15:24 عصر
وقتی به دیتابیستون متصل شدید از کد زیر استفاده کنید :
Response.ContentType=<ContentType>
Response.BinaryWrite RS(<FieldName>)
که به جای <ContentType> باید با توجه به نوع محتویات ذخیره شده عبارت مناسب را بنویسید :
Response.ContentType="image/JPEG"
Response.ContentType="image/GIF"
...
لیست مقادیر (http://www.asptutorial.info/sscript/ContentType.asp)
و برای <FieldName> نام فیلد محتوی مقادیر باینری را وارد کنید .
rasame
پنج شنبه 21 دی 1385, 09:12 صبح
با تشکر از پاسخ شما ،
این کدها زمانی جواب می دهد که داخل تگ های html نباشد اما اگر این کدها داخل تگ html باشد کدهای باینری عکس را نمایش می دهد . برای حل این مشکل باید چکاری انجام بدم ؟
وقتی به دیتابیستون متصل شدید از کد زیر استفاده کنید :
Response.ContentType=<ContentType>
Response.BinaryWrite RS(<FieldName>)
که به جای <ContentType> باید با توجه به نوع محتویات ذخیره شده عبارت مناسب را بنویسید :
Response.ContentType="image/JPEG"
Response.ContentType="image/GIF"
...
لیست مقادیر (http://www.asptutorial.info/sscript/ContentType.asp)
و برای <FieldName> نام فیلد محتوی مقادیر باینری را وارد کنید .
M-Gheibi
دوشنبه 25 دی 1385, 16:51 عصر
با تشکر از پاسخ شما ،
این کدها زمانی جواب می دهد که داخل تگ های html نباشد اما اگر این کدها داخل تگ html باشد کدهای باینری عکس را نمایش می دهد . برای حل این مشکل باید چکاری انجام بدم ؟
بعید میدونم دلیلی منطقیای برای این مورد وجود داشته باشه ! یعنی کد asp بین دو تگ <html> و </html> جواب نمیده ؟!! کد کاملی که باهاش مشکل دارید رو اینجا بنویسید/ضمیمه کنید ، شاید بشه کاری کرد .
rasame
سه شنبه 26 دی 1385, 12:17 عصر
این کدی است که من ازش استفاده می کنم وقتی تگ های html رو برمی دارم تصویر رو از بانک اطلاعاتی می خونه و نمایش می ده اما وقتی تگ ها رو میذارم کدهای باینری تصویر رو نشون می ده . بانک اطلاعاتی sql serve
<html>
<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%
connStr = "Driver={SQL Server};Server=Server;Database=Database;Uid=Uid;Pw d=Pwd;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from tablename where fieldname = " & id, connStr, 2,4
If Not rs.EOF Then
Response.ContentType = "image/gif"
Response.BinaryWrite rs("viewtop")
else
response.write "no picture"
End If
rs.Close
Set rs = Nothing
%>
</body>
</html>
M-Gheibi
پنج شنبه 28 دی 1385, 12:05 عصر
به این شکل عمل کنید :
فایلی با نام ( مثلاً ) ExtractBLOB.asp بسازید و کد مربوط به برقراری ارتباط با بانک و استخراج تصویر و سپس نمایش آن را در آن ذخیره کنید .
ExtractBLOB.asp
<%
connStr = "Driver={SQL Server};Server=Server;Database=Database;Uid=Uid;Pw d=Pwd;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from tablename where fieldname = " & id, connStr, 2,4
If Not rs.EOF Then
Response.ContentType = "image/gif"
Response.BinaryWrite rs("viewtop")
else
response.write "no picture"
End If
rs.Close
Set rs = Nothing
%>حالا در صفحهی دیگری با نام ( مثلاً ) Display.asp کد زیر را قرار دهید :
Display.asp
<html>
<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<img src="ExtractBLOB.asp">
</body>
</html>
حالا با باز کردن فایل display.asp تصویر مورد نظرتون نمایش داده خواهد شد ( امیدوارم ) . اگه باز هم جواب نگرفتید همینجا بگید .
rasame
پنج شنبه 05 بهمن 1385, 09:46 صبح
بله روش آخری رو که شما معرفی کردید ( یعنی گذاشتن کد نمایش عکس در یک فایل و فراخوانی آن در فابل اصلی ) جواب میده و میتونم عکس رو از بانک نمایش بدم ، ولی حالا به مشکل جدیدی برخوردم .
این برنامه یک عکس رو بانک نمی خونه بلکه چندین عکس رو می خونه - من از یک حلقه استفاده کردم که تمام عکس ها رو نمایش بده - هر عکسی یک id منحصربه فرد داره که من باید این id رو به select نمایش عکس پاس بدم اما نمی دونم چطور باید این متغییر id رو به این قسمت پاس بدم ! از session هم استفاده کردم اما نشد ....
لطفا در این مورد به من راهنمایی کنید .
rasame
یک شنبه 08 بهمن 1385, 08:34 صبح
بله روشی رو که شما معرفی کردید ( یعنی گذاشتن کد نمایش عکس در یک فایل و فراخوانی آن در فابل اصلی ) جواب میده و میتونم عکس رو از بانک نمایش بدم ، ولی حالا به مشکل جدیدی برخوردم .
این برنامه یک عکس رو بانک نمی خونه بلکه چندین عکس رو می خونه - من از یک حلقه استفاده کردم که تمام عکس ها رو نمایش بده - هر عکسی یک id منحصربه فرد داره که من باید این id رو به select نمایش عکس پاس بدم اما نمی دونم چطور باید این متغییر id رو به این قسمت پاس بدم ! از session هم استفاده کردم اما نشد ....
لطفا در این مورد به من راهنمایی کنید .
------------------------------------
به این شکل عمل کنید :
فایلی با نام ( مثلاً ) ExtractBLOB.asp بسازید و کد مربوط به برقراری ارتباط با بانک و استخراج تصویر و سپس نمایش آن را در آن ذخیره کنید .
ExtractBLOB.asp
<%
connStr = "Driver={SQL Server};Server=Server;Database=Database;Uid=Uid;Pw d=Pwd;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select * from tablename where fieldname = " & id, connStr, 2,4
If Not rs.EOF Then
Response.ContentType = "image/gif"
Response.BinaryWrite rs("viewtop")
else
response.write "no picture"
End If
rs.Close
Set rs = Nothing
%>
حالا در صفحهی دیگری با نام ( مثلاً ) Display.asp کد زیر را قرار دهید :
Display.asp
<html>
<head>
<meta http-equiv="Content-Language" content="fa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../css/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<img src="ExtractBLOB.asp">
</body>
</html>
حالا با باز کردن فایل display.asp تصویر مورد نظرتون نمایش داده خواهد شد ( امیدوارم ) . اگه باز هم جواب نگرفتید همینجا بگید .
rasame
یک شنبه 15 بهمن 1385, 11:08 صبح
چرا کسی جوابی به پست آخر نمی ده این خیلی برای من مهمه :(
rasame
سه شنبه 24 بهمن 1385, 09:22 صبح
سلام
چرا پس جواب نمیدید ؟ مگه نگفتید که " اگه باز هم جواب نگرفتید همینجا بگید " - لطفا خیلی برای من حیاتیه !
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.