把一个较大的文件用Blob存入数据库的一个字段,需要用流分割存储文件,具体怎么用?请教!
解决方案 »
- delphi怎么拨宽带啊
- 求 delphi 伪造来路的代码
- 看看
- 如何适应不同的分辨率(1280或1440)?
- c语言数组转delphi数组问题 求高人解答
- 一个TreeView的问题?
- 各位大个,小弟查询时想安顺序,group by记录,但是group 中包含记录的个数随机的,现在小弟用dataset,修改每个记录的group id ,然后使用grou
- 散200分:什么是静态联接库?
- 有关主从表的问题
- 请帮我看看下面的代码为什么老出错,说exe访问了不该访问的地址,
- delphi 的 Image 显示透明图片在更换位图图片的时候闪烁:
- 请问一下怎么把一个整型数据26输出到一个文本文件中变为026?
function SplitFile(const FileName: string; Size: Cardinal): Boolean;
var
fStream: TFileStream; {原始文件}
toStream: TMemoryStream; {分文件}
p,i: Integer; {p 记录当前指针位置; i 记录这是第几个分的文件}
begin
Result := False; Size := Size * 1024; {把大小的单位转换为字节} fStream := TFileStream.Create(FileName, fmOpenRead);
p := 0;
i := 0; toStream := TMemoryStream.Create; while p < fStream.Size do
begin
toStream.Clear; {清空上次数据}
fStream.Position := p; {放好指针位置} if fStream.Size-p < Size then Size := fStream.Size-p; {最后一个时, 有多少算多少} toStream.CopyFrom(fStream, Size); {复制}
toStream.SaveToFile(FileName + '.' + IntToStr(i)); {保存}
Inc(i);
p := p + Size;
end; fStream.Free;
toStream.Free;
Result := True;
end;