导航:
论坛 -> Web应用开发
斑竹:bodies
作者:
2016/9/21 16:51:28
标题:
请问 IdHTTP.Get 取网络图片到本地 image时如何解决出现半幅图片?
浏览:1714
加入我的收藏
楼主:
image1 我在本地时先load一幅png图片, 如果网络正常,用 IdHTTP.Get 取网络图片到本地 image1 取代已load图片,是正常的; 如果网络很慢时,则本地图片会被取代为半幅图片,即只有上半截,下半截是白色;或直接就是整幅白色图片,估计没下载下来; 我要的效果是 如果网络不通,用本地已load图片,如果网络通用网络的; ********** 请问: 现在网络不好的情况下。如何能够判断网络图片下载完整才更新image1里面的图片呢? 而不至于出现半幅图片或白图片? 空白 用 if MemStream1<>nil 也无效。。因为有时手机上网只有2G。。 谢谢; 我现在的代码: ....... IdHTTP1.Get('http://abc***.com/1.png', MemStream1) ....... Image1.Bitmap.LoadFromStream(MemStream1);
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...
作者:
2016/9/21 21:32:47
2楼:
**使用 FMX,没有了 image1.picture.graphic 属性** 应该说只 显示一半, image1 只显示了 图片的 上半部分。 看看有没有办法判断 下载的图片 已经下载完成, 我用 方法1: IdHTTP1.Get('http://abc***.com/1.png', MemStream1); if MemStream1<>nil then Image1.Bitmap.LoadFromStream(MemStream1); 或 BMP1:=TBitmap.Create; IdHTTP1.Get('http://abc***.com/1.png', MemStream1) BMP1.LoadFromStream(MemStream1); if BMP1.IsEmpty<>True then Image1.Bitmap.Assign(BMP1); 以上均不行。。 请问有什么方法可以判断 图片 已经下载 完整呢?
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...
作者:
2016/9/22 9:10:33
3楼:
要是客户端服务端都是你的加个验证就行了啊
----------------------------------------------
delphi你妹
作者:
2016/9/22 9:13:01
4楼:
楼主 http 协议 是有 文件大小的。 你先获取 文件大小。 然后下载完了 检查大小。
----------------------------------------------
(C)(P)Flying Wang
作者:
2016/9/22 11:12:50
5楼:
顶楼上。 类似这样: IdHTTP1.Get(s,tmpStream); if tmpStream.Size=IdHTTP1.Response.ContentLength then ..
----------------------------------------------
http://mcool.appinn.me/
作者:
2016/9/22 11:31:33
6楼:
还有一种可能,你的服务器只传了一半给你。 这就得问你的服务器 对 http 的协议要求了。
----------------------------------------------
(C)(P)Flying Wang
作者:
2016/9/22 12:10:49
7楼:
HTTP 也会 分段 发数据?
----------------------------------------------
学DELPHI http://www.studydelphi.com
作者:
2016/9/22 15:49:53
9楼:
事实证明,楼主是瞎子,大家的回答,他看不见。
----------------------------------------------
(C)(P)Flying Wang
作者:
2016/9/22 16:01:24
10楼:
重新看了一次,看到了。。。 谢谢楼上各位。。。
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...