1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- $PBExportHeader$f_blobtofile.srf
- global type f_blobtofile from function_object
- end type
- forward prototypes
- global function integer f_blobtofile (string arg_filepathname, blob arg_blobdata, ref string arg_msg)
- end prototypes
- global function integer f_blobtofile (string arg_filepathname, blob arg_blobdata, ref string arg_msg);//blob转文件
- long rslt=1,fend,fend_t
- blob b_dtdata, b_dtdata_p
- long li_FileNum,ls_i,ls_jh
- string tmpfilepathname
- tmpfilepathname=arg_filepathname
- b_dtdata=arg_blobdata
- fend=len(b_dtdata)
- if fend<=32765 then
- fend_t=1
- else
- fend_t=fend/32765
- if mod(fend,32765)<>0 then
- fend_t=fend_t+1
- end if
- end if
- li_FileNum = FileOpen( tmpfilepathname,StreamMode!, Write!, LockWrite!)
- if li_FileNum<=0 then
- arg_msg="打开文件"+tmpfilepathname+"失败"
- rslt=0
- fileclose(li_FileNum)
- goto ext
- end if
- for ls_i = 1 to fend_t
- b_dtdata_p=blobmid(b_dtdata,1+(ls_i - 1 )*32765,32765)
- ls_jh=FileWrite(li_FileNum, b_dtdata_p)
- if ls_jh<=0 then
- arg_msg="写文件"+tmpfilepathname+"失败"
- rslt=0
- fileclose(li_FileNum)
- goto ext
- end if
- next
- fileclose(li_FileNum)
- ext:
- return rslt
- end function
|