PDA

View Full Version : سوال: ذخیره فایل به صورت باینری در sql



stn-it
یک شنبه 20 اسفند 1391, 08:37 صبح
با سلام خدمت دوستان
من یک سری فایل دارم که برای امنیت اون می خوام این اطلاعات به صورت باینری در بانک اطلاعاتیم که sql server هست ذخیره بشه!
از دوستان کسی هست که منو راهنمایی کنه؟چطور همچین کاری رو با دلفی انجام بدم؟اطلاعات رو چطور یذخیره کنم و چطوری بازیابی کنم؟

benyaminrahimi
یک شنبه 20 اسفند 1391, 08:56 صبح
اگه منظورت اینکریپت کردنه devart unidac یه کامپوننت برای این کار داره

stn-it
یک شنبه 20 اسفند 1391, 09:44 صبح
من یک سری فایل دارم ، که فرمتش به صورت pdf هستش، حالا من می خوام خود این فایلها در دیتابیس من ذخیره بشه، اطلاعات چندانی ندارم!
نمی دونم چه راه حلی مناسب این کار هستش!
فقط شنیدم که مثلا میشه این فایل ها رو به صورت فایل باینری در دیتا بیس ذخیره کرد، که امنیتش بالاتر هستش
راه حلی که شما پیشنهاد می کنید ، چی هستش؟
تو یه پستی دیدم از این روش استفاده کرده!
ولی من چون اصلا کار نکردم ، متوجه نشدم!
<span class="highlight">TBlobField</span>(tbl.fieldbyname('pdf')).loadfromfile(fi lename);

stn-it
چهارشنبه 23 اسفند 1391, 11:53 صبح
دوستان مشکل من حل شد،من تنظیماتی که آقای نصیری در مقاله شون آورده بود رو انجام دادم ، و از این کد برای ذخیره فایل 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;


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

benyaminrahimi
پنج شنبه 24 اسفند 1391, 20:34 عصر
به جای این همه دردسر خوب از loadfromfile و savetofile تو بلاب فیلدتون استفاده کنید ...