getStream := TFileStream.Create(FileName, fmOpenRead or fmShareExclusive);
MyMD5 := TIdHashMessageDigest5.Create;
Digest := MyMD5.HashValue(getStream);
getStream.Free;
// MessageBox(0,pchar( MyMD5.AsHex(Digest)),pchar('系统信息'),MB_ICONHAND);
if MyMD5.AsHex(Digest) = gs_md5 then
Result := 0我是这样的写的,但是连续校验的时候会出现错误,还有什么方法?怎么不能上传附件呢?
MyMD5 := TIdHashMessageDigest5.Create;
Digest := MyMD5.HashValue(getStream);
getStream.Free;
// MessageBox(0,pchar( MyMD5.AsHex(Digest)),pchar('系统信息'),MB_ICONHAND);
if MyMD5.AsHex(Digest) = gs_md5 then
Result := 0我是这样的写的,但是连续校验的时候会出现错误,还有什么方法?怎么不能上传附件呢?
function TIdHash.HashStreamAsHex(AStream: TStream): String;用Indy的IdHash试试。报的什么错误也不发出来。
getStream .LoadFromFile(FileName);
看了下我以前的代码 用的内存流,应该没啥区别吧
[email protected]
有没有更好的方法?要是主程序文件比较大,这个复制一个文件流不是开销很大?