设为首页 加入收藏

TOP

Golang从文件服务器获取图片显示到客户端(二)
2018-11-06 16:09:08 】 浏览:961
Tags:Golang 文件 服务器 获取 图片 显示 客户端
tln(img_name) img_url :
= "http://localhost:8001/images/Test" + name //C(文件服务器地址) img_data := ReadImgData(img_url) //向服务器气球图片数据 if len(img_data) == 0 { fmt.Println("file access forbidden:", name) return nil, os.ErrNotExist } fmt.Println("get img file:", img_url) var f http.File = &ReadImg{buf: bytes.NewReader(img_data), fileUrl: img_name, fileData: img_data} //标红的可以查看标准库bytes的Reader类型,NewReader(p []byte)可返回*Reader,然后调用和http.File相同的Seek()和Read()方法 return f, nil } func InitHttpImgFileServ() { http.Handle("/img/", http.StripPrefix("/img/", http.FileServer(HttpDealImg{}))) } func main() { InitHttpImgFileServ() http.ListenAndServe(":8000", nil) }

六、测试截图

请求地址http://localhost:8000/img/qq.png

后台打印的信息是获取的是http://localhost:8001/images/Test/qq.png,也就是C(文件服务器里图片的真实地址)

 七、结束

  当文件保存在其他的服务器上,需要在客户端显示图片,但是不想被知道真实的路径的时候就可以通过http.File和os.FileInfo去封装一下就可以实现,可能上面介绍的不清楚,有问题的可以留言一起沟通学习一下,谢谢!

  如果有更好的实现方法,希望大家可以分享出来一起学习,谢谢

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Go中局部全局变量的区分 下一篇Go实现基于WebSocket的弹幕服务

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目