Foxtable(狐表)用户栏目专家坐堂 → [求助]e.WriteFile(fl)网页不能显示图片


  共有4217人关注过本帖树形打印复制链接

主题:[求助]e.WriteFile(fl)网页不能显示图片

帅哥哟,离线,有人找我吗?
instone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
[求助]e.WriteFile(fl)网页不能显示图片  发帖心情 Post By:2023/4/10 12:28:00 [只看该作者]

请教老师,我有一个带图网页文件,在“我的电脑”中双击该文件,可以在浏览器中打开,图片可以显示,浏览器的地址为:file:///D:/cl/webtest/_2.htm
但是在foxtable用以下代码显示的网页,网页中的图片却不能显示出来,图片之外的内容能显示,浏览器地址为http://127.0.0.1/,麻烦请教老师我这是哪里出问题了啊:
Dim fl As String = "D:\cl\文件\tmp2\content\_2.htm" 
If filesys.FileExists(fl) Then
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String = fl.SubString(idx)
    Select Case ext
        Case ".jpg", ".gif", ".png", ".bmp", ".wmf", ".js", ".css" , ".html", ".htm"
            e.Resp '设置网页编码为gb2312    '  "utf-8" 会出乱码      
            e.WriteFile(fl)
    End Select
Else
    e.WriteString("由foxtable开启的web服务,尚未提供访问的页面!")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/10 13:30:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
instone
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
  发帖心情 Post By:2023/4/10 14:50:00 [只看该作者]

老师我图片文件目录是在网
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:_2.rar

页文件所在目录的下级目录中,图片目录地址也写成了以“./”开头,仍然不行,麻烦老再看看,附件是我的网页文件及其下级目录文件。
[此贴子已经被作者于2023/4/10 14:51:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/10 15:02:00 [只看该作者]

启动服务的代码改为:

HttpServer.Prefixes.Add("http://127.0.0.1/")
HttpServer
.WebPath = "D:\cl\文件\tmp2\content\"  '指定静态文件存储位置
HttpServer
.Start()


httprequest事件不需要代码


 回到顶部
帅哥哟,离线,有人找我吗?
instone
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
  发帖心情 Post By:2023/4/10 15:24:00 [只看该作者]

老师 我在启动服务的代码这里指定目录,并把httprequest事件代码注释掉后,再在浏览器中用 http://127.0.0.1/_2.htm 访问的话,可以显示图片了,但是除了图片外的其他内容,全部都成乱码了 。
网页中已有语句 charset=gb2312
[此贴子已经被作者于2023/4/10 15:24:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/4/10 15:35:00 [只看该作者]

启动服务的代码改为:
HttpServer.Prefixes.Add("http://127.0.0.1/")
HttpServer.Start()

HttpRequest事件代码:

Dim fl As String = "D:\cl\文件\tmp2\content\" & e.Path
If
 filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".doc",".docx",".xls",".xlsx",".pdf"
            e.ResponseEncoding = "gb2312" 
'
设置网页编码为gb2312
            e.WriteFile(fl)
    End 
Select

Else

    e.WriteString(
"
好奇怪,你访问的页面不存在!")
End
 If


 回到顶部
帅哥哟,离线,有人找我吗?
instone
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
  发帖心情 Post By:2023/4/10 16:09:00 [只看该作者]

可以了老师,我在HttpRequest中增加指定HttpServer.WebPath后就可以了,多谢老师指导!

 回到顶部