Foxtable(狐表)用户栏目专家坐堂 → 关于高级指南显示图片的问题


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

主题:关于高级指南显示图片的问题

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
关于高级指南显示图片的问题  发帖心情 Post By:2019/4/5 17:03:00 [只看该作者]

老师请教下,高级指南中对于图片的显示有如下代码


图片点击可在新窗口打开查看此主题相关图片如下:zzz1111111111.png
图片点击可在新窗口打开查看

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的话,图片还是不会显示呀

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


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

假设登录网址为 127.0.0.1/a.htm,a.htm里需要显示一个图片abc.jpg,那么浏览器就会向服务器发送一个请求,路径如:127.0.0.1/abc.jpg。也就是说浏览器会根据网页需要的资料进行多次请求,然后服务端就会触发多次。

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


加好友 发短信
等级:童狐 帖子:288 积分:2404 威望:0 精华:0 注册:2017/6/19 23:37:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/6 14:03:00 [只看该作者]

前半部分理解对了。但是并不是每次请求都会返回一个网页。这样的话,web开发就没有必要存在了。请求什么就得到什么,请求一个文件,就只得到这个文件的数据,至于这个数据怎么合并到原来的网页中,那是浏览器的工作,我们不需要关心。

 回到顶部