PDA

View Full Version : سوال: FileStream اس کیوال سرور 2008 استفاده از آن در دلفی



fahimi
شنبه 14 مرداد 1391, 22:23 عصر
FileStream قابلیت جدیدی است در Sqlserver 2008 معرفی شده است ودر خصوص مطالب زیادی است در اینترنت منتشر شده است فعال کردن و تنظیم کردن و ایجاد تیبل آن مشکل نیست -عمده مشکل من نحوه دریافت فایل از کاربر و دخیره و بازیابی آن است - عمده مثال سی شارپ و خانواده دات نت است در صورتیکه از دوستان اطلاعاتی دارند لطف کند و راهنمایی کند و لینک زیر معرفی این قابلیت به فارسی است
http://www.dotnettips.info/Post/331/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-filestream-%D8%A7%D8%B3-%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-2008-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84
و قسمت دوم
http://www.dotnettips.info/Post/332/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-filestream-%D8%A7%D8%B3-%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-2008-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85
و قسمت سوم
http://www.dotnettips.info/Post/333/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-filestream-%D8%A7%D8%B3-%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-2008-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85

fahimi
یک شنبه 22 مرداد 1391, 23:07 عصر
سلام خدمت دوستان
مقاله آشنایی با قابلیت FileStream اس کیوال سرور 2008 توسط آقای وحید نصیری یکی از بهترین مقالات در معرفی قابلیت FileStream است . که من از ایشان به خاطر نشر آن کمال تشکر دارم

من ابتدا FileStream را در #C پیاده کردم و وسوسه شدم آن در دلفی پیاده سازی کنم و نتیجه :



var
vlStream: TFileStream;
begin
table1.Open;
table1.Append;
vlStream := TFileStream.Create('h:\1.pdf', fmOpenRead or fmShareDenyWrite);
vlStream.Seek(0, soFromBeginning);
(table1.FieldByName('fData') as TBlobField).LoadFromStream(vlStream);
table1.FindField('fName').AsString:='1.pdf';
vlStream.Free;
table1.Post;
showmessage('save');
end;

stn-it
یک شنبه 20 اسفند 1391, 15:32 عصر
من از کد بالا استفاده کردم، اطلاعات رو در دیتابیس ذخیره می کنه!
الان می خوام فایل pdf که در دیتابیس ذخیره کردم رو بازیابی کنم و فایل pdf رو نمایش بدم!
از دوستان کسی هست که منو راهنمایی کنه؟

stn-it
چهارشنبه 23 اسفند 1391, 11:49 صبح
دوستان مشکل من حل شد،من تنظیماتی که آقای نصیری در مقاله شون آورده بود رو انجام دادم ، و از این کد برای ذخیره فایل pdf به صورت باینری در sql استفاده کردم


var
vlStream: TFileStream;
begin
table1.Open;
table1.Append;
vlStream := TFileStream.Create('h:\1.pdf', fmOpenRead or fmShareDenyWrite);
vlStream.Seek(0, soFromBeginning);
(table1.FieldByName('fData') as TBlobField).LoadFromStream(vlStream);
table1.FindField('fName').AsString:='1.pdf';
vlStream.Free;
table1.Post;
showmessage('save');
end;

برای اینکه این اطلاعات رو از دیتابیس هم بخونم از این کد استفاده کردم


var
vlStream: TFileStream;
BlobStream: TStream;
begin
vlStream := TFileStream.Create('c:\1.pdf',fmCreate);
vlStream.Seek(0, soFromBeginning);
BlobStream :=table1.CreateBlobStream(table1.FieldByName('fDat a'),bmRead);
vlStream.CopyFrom(BlobStream,BlobStream.Size);

BlobStream.Free;
FileStream.Free;
FFile1.AcroPDF2.LoadFile('c:\1.pdf') ;
end;


امیدوارم به کار دوستان هم بیاد