以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- web下载文件的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=165941) |
-- 作者:lgzhao -- 发布时间:2021/5/16 14:37:00 -- web下载文件的问题 今年升版之后,用hc.getfile() 从web服务端请求下载文件,服务端即使使用e.writestring(" ")而不发送e.writefile,客户端那里还是生成一个假的文件。 这样一来hf.getfile()返回的永远是true。 很多之前的判断逻辑都不适用了。是不是这次foxtable升版之后在这里的逻辑需要重新考虑一下? 我知道这个改变是之前服务器推送大小为零的空文件导致报错,但这么改后的逻辑也不符合实际使用,带来了更多的问题。
|
-- 作者:lgzhao -- 发布时间:2021/5/16 14:53:00 -- 此外 hc.skiperro项似乎不起作用。 如果我用hc.getdata(),当服务器端直接不响应时,客户端这头还是跳出错误提示404 这样的话这个属性的作用就没有发挥出来。
|
-- 作者:有点蓝 -- 发布时间:2021/5/16 21:01:00 -- 回1楼,结合StatusCode使用即可 httprequest Select Case e.Path Case "test.htm" e.Response.StatusCode = "404" e.WriteString("") End Select 客户端调用 Dim hc As New HttpClient("http://127.0.0.1/test.htm") hc.SkipError = True If hc.GetFile("c:\\data\\123.jpg") Then MessageBox.show("文件下载成功","提示") Else MessageBox.show("文件下载失败","提示") End If Output.Show("hc.StatusCode=" & hc.StatusCode) 回2楼,我测试SkipError 是有效的 Dim hc As New HttpClient("http://127.0.0.1/test.htm") hc.SkipError = True hc.GetData Output.Show("hc.StatusCode=" & hc.StatusCode) |