PB下载数据库图片到本地,图片下面一节都是黑色的

yuduo1112 2019-06-10 04:07:02
...全文
381 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyf0130 2019-07-12
  • 打赏
  • 举报
回复
另外一个公司传过来的图片都可以,就是这一个公司传过来的都不行 或者是头 或者是结尾 丢了数据 谁录入数据的? 从数据源那边查查,他们录入数据时有什么差异
jyglint 2019-06-12
  • 打赏
  • 举报
回复
先确认下文件损坏没有,用fc对比下字节
yuduo1112 2019-06-11
  • 打赏
  • 举报
回复
引用 3 楼 qq_1919561306 的回复:
测试一张小一点的图片,比如几百K大小的,试试看看能下载完整不?

不是大小的问题,另外一个公司传过来的图片都可以,就是这一个公司传过来的都不行。大小都差不多。
qq_1919561306 2019-06-11
  • 打赏
  • 举报
回复
测试一张小一点的图片,比如几百K大小的,试试看看能下载完整不?
zhgwbzhd 2019-06-11
  • 打赏
  • 举报
回复
是不是和图片格式有关呢?你可以用其他工具比如(画图),将图片重新保存一下试试看。
yuduo1112 2019-06-10
  • 打赏
  • 举报
回复
大神在哪里,用C#做了个工具下载图片也没啥问题。懵逼了
yuduo1112 2019-06-10
  • 打赏
  • 举报
回复
代码如下,求大神:
blob lb_czfp,emptyblob,temp
integer li_fileno,li_loops,li_i
long ll_length

JJZH = message.stringparm
selectBLOB TPWJ into :lb_czfp from WXJJ_FPCZ_DA where JJZH = :JJZH;
if lb_czfp = emptyblob then
messagebox('提示','无图片数据!')
return
close(this)

end if
p_1.SetPicture(lb_czfp )
ll_width = UnitsToPixels(p_1.Width, XUnitsToPixels!)


ll_length = len(lb_czfp)
li_fileno = FileOpen( "D:\FP_TP.JPG",streamMode!, Write!, Shared!,replace!)

If ll_length > 32765 Then
If Mod(ll_length,32765) = 0 Then
li_loops = ll_length/32765
Else
li_loops = ll_length/32765 + 1
End If
Else
li_loops = 1
End If
temp=lb_czfp
For li_i = 1 To li_loops
fileWrite(li_fileno,temp)
temp=blobmid(lb_czfp,li_i*32765,32765)
Next

FileClose(li_fileno)

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧