以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于高级指南显示图片的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133069) |
-- 作者:jackchan120925 -- 发布时间:2019/4/5 17:03:00 -- 关于高级指南显示图片的问题 老师请教下,高级指南中对于图片的显示有如下代码 Dim fl As
String = "d:\\web\\" &
e.path \'合成含路径的文件名 If filesys.FileExists(fl) \'如果是请求一个已经存在的文件 e.WriteFile(fl) \'则发送此文件 Else Dim sb As New StringBuilder sb.Appendline("我想显示一个图片<br/><br/>") sb.AppendLine("<img src=\'abc.jpg\'>") e.WriteString(sb.ToString()) End If 从第一行开始, e.path(假设登录网址为 127.0.0.1/a.htm),那么 fl的值就变成了 d:\\web\\a.htm, 而图片名字为abc.jpg, 也就是代码1部分不会执行。执行代码2的话,图片还是不会显示呀
|
-- 作者:有点蓝 -- 发布时间:2019/4/6 10:34:00 -- 假设登录网址为 127.0.0.1/a.htm,a.htm里需要显示一个图片abc.jpg,那么浏览器就会向服务器发送一个请求,路径如:127.0.0.1/abc.jpg。也就是说浏览器会根据网页需要的资料进行多次请求,然后服务端就会触发多次。 |
-- 作者:jackchan120925 -- 发布时间:2019/4/6 12:11:00 -- 老师您好,还有有个问题 假设登录网址为 127.0.0.1/a.htm,a.htm里需要显示一个图片abc.jpg。 那么第一次在浏览器输入这个网址,执行如下部分代码(else部分) Dim sb As New StringBuilder sb.Appendline("我想显示一个图片<br/><br/>") sb.AppendLine("<img src=\'abc.jpg\'>") e.WriteString(sb.ToString()) 然后代码执行到 "<img src=\'abc.jpg\'>"), 相当于又向服务器发送了一个请求,用地址:127.0.0.1/abc.jpg,那么这次就执行如下代码 e.WriteFile(fl) \'则发送此文件 这么理解不知对不对? 但是按如上理解还是有个问题,就是第二次执行 e.WriteFile(fl),那么网页上应该是只有图片,不应该有“我想显示一个图片”这几个字啊? 我的理解是,两个请求分别生成了2个网页,第二个网页应该完全把第一个网页取代掉,而不是并存才对。 [此贴子已经被作者于2019/4/6 12:11:11编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/4/6 14:03:00 -- 前半部分理解对了。但是并不是每次请求都会返回一个网页。这样的话,web开发就没有必要存在了。请求什么就得到什么,请求一个文件,就只得到这个文件的数据,至于这个数据怎么合并到原来的网页中,那是浏览器的工作,我们不需要关心。 |