大于32K的jpg图片显示问题
blob lb_tmp
blob b
integer li_FileNum,loops,i
long flen
SELECTBLOB markbody INTO :lb_tmp from dzb_signature where signatureid=50;
li_FileNum = FileOpen( &
"C:\EMP_PICS.jpg", &
STREAMMode!,Write!,Shared!,REPLACE!)
flen=len(lb_tmp)
messagebox("blob",flen)
IF flen > 32765 THEN
IF Mod(flen, 32765) = 0 THEN
loops = flen/32765
ELSE
loops = (flen/32765) + 1
END IF
FOR i = 1 to loops
b = blobmid(lb_tmp,32765 * (i - 1) + 1,32765)
//messagebox("",len(b))
integer n
FileWrite(li_FileNum,b)
//FileWrite
NEXT
ELSE
FileWrite(li_FileNum, lb_tmp)
END IF
FileClose(li_FileNum)
messagebox("jpg",Filelength("C:\EMP_PICS.jpg"))
/==================================================
大于32K的显示却总是叉叉,小于32765 的可以正常显示
但是,从前后的字节数判断,比如长度都是32767 .可以判断已经成功存入文件。
请问高手,问题出在哪了,怎么解决?