PB Blob转成文件


/*uf_create_pic
value string as_file_path 文件名  C:/test.txt
value blob ablb_data blob
return integer*/
integer li_FileNo, li_Writes, li_Cnt

long ll_BlobLen, ll_CurrentPos


blob lblb_Data

li_FileNo = FileOpen(as_file_path, StreamMode!, &
   Write!, LockReadWrite!, Append!)

If li_FileNo < 0 Then Return -1

 
ll_BlobLen = Len(ablb_Data)


// Determine the number of writes required 

// to write the entire blob

If ll_BlobLen > 32765 Then
   If Mod(ll_BlobLen, 32765) = 0 Then
      li_Writes = ll_BlobLen / 32765
   Else
      li_Writes = (ll_BlobLen / 32765) + 1
   End if
Else
   li_Writes = 1
End if

ll_CurrentPos = 1

For li_Cnt = 1 To li_Writes

   lblb_Data = BlobMid(ablb_Data, ll_CurrentPos, 32765)

   ll_CurrentPos += 32765

   If FileWrite(li_FileNo, lblb_Data) = -1 Then

      Return -1

   End if
Next

FileClose(li_FileNo)

Return 1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM