PDA

View Full Version : سوال: ذخیره عکس در DB و تحت وب



morteza_1234m
شنبه 08 اسفند 1388, 00:46 صبح
سلام دوستان سئوال من ممکنه که تکرار یباشه ولی حیاتیه برای خیلی ها مثل خودم
دوستان من در پایگاه داده ام یک فیلد دارم که قراره امضا کاربرای بانک قرض الحسنه ذخیره بشه ولی پروژه من تحت وب هست و نوع فیلد از نوع باینری

من از کد زیر برای خوندن امضا کاربر از اسکنر استفاده کردم

public class ImageAcquisition
{


private WIALib.WiaClass WiaClass;
private WIALib.ItemClass ItemClass;
private WIALib.CollectionClass CollectionClassDevices;
private WIALib.CollectionClass CollectionClassPics;


#region SelectDevice
public bool SelectDevice()
{
try
{
object selectUsingUI;

WiaClass = new WIALib.WiaClass();
CollectionClassDevices = (WIALib.CollectionClass)WiaClass.Devices;

if (WiaClass.Devices.Count == 0)
return false;

selectUsingUI = System.Reflection.Missing.Value;

ItemClass = (WIALib.ItemClass)WiaClass.Create(ref selectUsingUI);

if (ItemClass == null)
return false;

return true;
}
catch (System.Exception exp)
{
return false;
}
}
#endregion

#region Capture
public System.Drawing.Image Capture()
{
try
{
CollectionClassPics = ItemClass.GetItemsFromUI(WIALib.WiaFlag.SingleImag e, WIALib.WiaIntent.ImageTypeColor) as WIALib.CollectionClass;
if (CollectionClassPics == null)
return null;

ItemClass = (WIALib.ItemClass)System.Runtime.InteropServices.M arshal.CreateWrapperOfType(CollectionClassPics[0], typeof(WIALib.ItemClass));
string imageFileName = System.IO.Path.GetTempFileName();
ItemClass.Transfer(imageFileName, false);
System.Drawing.Image Image = System.Drawing.Image.FromFile(imageFileName);

System.Runtime.InteropServices.Marshal.ReleaseComO bject(CollectionClassPics[0]);
return Image;
}
catch (System.Exception exp)
{
return null;
}
}
#endregion


}خوب حالا مشکلی که وجود داره اینه که ما کنترلی مثل PictureBox که در APPWIN وجود داره در APPWeB وجود نداره

برای این جاش هم فکری کردم این که وقتی که به وسیله این کد :

ImageAcquisition img = new ImageAcquisition();

img.SelectDevice();
img.Capture();عمل اسکن عکس رو دستور میدیم اطلاعاتش رو در یک جدول (اطلاعاتش موقت هست)Temp در اس کیو ال ذخیره کنیم و این جدول رو به شی image وصل کنیم واین امضا رو نشون کاربر بدیم سپس اگر کاربر تائید کرد امضا رو اونو تو جدول اصلی بانک ذخیره کنیم

حالا سئوال تکراری من اینه که چگونه میتونم که یک عکس رو به بایتهاش تبدیل کنم و در این جدولی ذخیره کنم که نوع فیلدش از نوع binary هست؟(اگر به صورت نمونه برنامه باشه ممنون میشم)
*من از روش ذخیره مسیر عکس نمیتونم استفاده کنم چون امضای بانکی مشتریان بانک هست و همین طوری نمیشه به حال خودش رهاش کرد تو یک پوشه در مسیر خاص که قابل بازیابی باشه برای عموم
-دوستان توجه کنید که فقط کد تبدیل عکس به باینری- (و اگر اشکالی نداره ذخیرش تو بانک رو نیاز دارم )-رو میخوام یکیش که درست کار کنه

پیشاپیش از همکاری شما تشکر می کنم

salimzare
سه شنبه 11 اسفند 1388, 10:41 صبح
سلام ، پروژه رو Upload کن تا تستش کنم و برات درستش کنم ،

موفق باشی :چشمک: