以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]e.WriteFile(fl)网页不能显示图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186161)

--  作者:instone
--  发布时间:2023/4/10 12:28:00
--  [求助]e.WriteFile(fl)网页不能显示图片
请教老师,我有一个带图网页文件,在“我的电脑”中双击该文件,可以在浏览器中打开,图片可以显示,浏览器的地址为: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

--  作者:有点蓝
--  发布时间:2023/4/10 13:30:00
--  
先看看:http://www.foxtable.com/mobilehelp/topics/0044.htm
--  作者:instone
--  发布时间:2023/4/10 14:50:00
--  
老师我图片文件目录是在网
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:_2.rar

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

--  作者:有点蓝
--  发布时间:2023/4/10 15:02:00
--  

启动服务的代码改为:

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


httprequest事件不需要代码


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

--  作者:有点蓝
--  发布时间: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
--  发布时间:2023/4/10 16:09:00
--  
可以了老师,我在HttpRequest中增加指定HttpServer.WebPath后就可以了,多谢老师指导!