以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于客户端类 文件的下载问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178815) |
-- 作者:堕落的后天 -- 发布时间:2022/7/22 10:34:00 -- [求助]关于客户端类 文件的下载问题 软件做了3层架构 在服务端代码如下 Select Case e.Path Case "DataServer.htm" e.AsDataServer("综合管理数据源") \'将一个本地数据源公开为Web数据源 Case "test2.htm" For Each key As String In e.Files.Keys For Each fl As String In e.Files(key) e.SaveFile(key,fl,"Resource\\" & fl) \'保存接收到的文件 e.WriteString("图片已保存!") Next Next Case "test1.htm" Dim pth As String = e.PlainText FileSys.DeleteFile(pth,2,2) e.WriteString("文件已删除!") Case "test.htm" If FileSys.FileExists("Resource\\" & e.PlainText ) Then e.WriteString("文件存在!") e.WriteFile("Resource\\" & e.PlainText ) Else e.WriteString("文件不存在!") End If End Select 客户端 代码 Dim lst As New List(of String) Dim ip As String = e.Form.Controls("TextBox10").text lst = Tables("详情表").Current.DataRow.Lines("工单") For Each Name As String In lst If FileSys.FileExists("Resource\\" & Name ) Then Else Dim hc As New HttpClient("http://" & ip & ":32177/test.htm") hc.Timeout = 5 \'设置超时为5秒 hc.Content = Name Dim ret As String = hc.GetData() MessageBox.show(ret) If hc.GetFile("Resource\\" & Name ) Then MessageBox.show("文件下载成功","提示") Else MessageBox.show("文件下载失败","提示") End If End If Next 在客户端连接Web数据源 代码如下 Dim ip As String = e.Form.Controls("TextBox10").text Dim sb As New StringBuilder sb.AppendLine("http://" & ip & ":32177/DataServer.htm") Connections.Add("综合管理数据源",sb.ToString) --------------------- 1.现在问题是我上传图片 在线删除图片都没问题 就是从服务器下载图片提示错误(关了杀毒软件 也试过关闭防火墙) .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.9.8.1 错误所在事件: 详细错误信息: 请求被中止: 连接被意外关闭。 2.在客户端连接Web数据源 数据源可以联通 但是一直提示 综合管理数据源已存在 (客户端的软件原来默认连接的数据源如下 Provider=Microsoft.Jet.OLEDB.4.0;Data Source= 全通mdb.mdb;Persist Security Info=False) |
-- 作者:有点蓝 -- 发布时间:2022/7/22 10:47:00 -- 去掉e.WriteString("文件存在!") |
-- 作者:堕落的后天 -- 发布时间:2022/7/22 11:33:00 -- 一开始就是没有这句的 我是找不到错误 才加的 ,还是一样报错 |
-- 作者:有点蓝 -- 发布时间:2022/7/22 11:50:00 -- 使用完整路径,比如 If FileSys.FileExists("c:\\xxx\\xxx\\Resource\\" & e.PlainText ) Then e.WriteFile("c:\\xxx\\xxx\\Resource\\" & e.PlainText ) Else e.WriteString("文件不存在!") End If ------------------ If hc.GetFile("c:\\xxx\\xxx\\Resource\\" & Name ) Then MessageBox.show("文件下载成功","提示") Else MessageBox.show("文件下载失败","提示") End If |
-- 作者:堕落的后天 -- 发布时间:2022/7/22 15:48:00 -- 还是一样的错误 我直接用完整路径测试固定图片 也不行 请求被中止: 连接被意外关闭。
|
-- 作者:有点蓝 -- 发布时间:2022/7/22 16:31:00 -- 文件是不是比较大?去掉Dim ret As String = hc.GetData() Dim hc As New HttpClient("http://" & ip & ":32177/test.htm") hc.Timeout = 500 hc.SkipError = True hc.Content = Name If hc.GetFile("Resource\\" & Name ) Then MessageBox.show("文件下载成功","提示") Else MessageBox.show("文件下载失败","提示") End If |
-- 作者:堕落的后天 -- 发布时间:2022/7/22 16:58:00 -- 是的 这句话删掉就好了 文件不大 我觉得是获取的指令不能同时排布 谢谢老师 |