首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang静态文件(SVGZ)

Golang静态文件(SVGZ)
EN

Stack Overflow用户
提问于 2016-06-24 22:31:13
回答 2查看 305关注 0票数 0

我正在尝试使用以下脚本提供静态.svgz文件(压缩的SVG):

代码语言:javascript
复制
http.ListenAndServe(":9090", http.FileServer(http.Dir("/srv/www/htdocs/")))

我得到了下面的错误:

代码语言:javascript
复制
This page contains the following errors:

error on line 1 at column 1: Encoding error
Below is a rendering of the page up to the first error.

如果我尝试通过apache获取相同的文件,该文件可以正常显示。

有没有办法解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2016-06-24 23:11:56

Go http.FileServer不会为嗅探到的文件自动添加Content-Encoding。如果文件是预压缩的,则需要添加适当的值。

您可以将Content-Encoding: gzip添加到标头和,并在处理程序中使用http.ServeFile

票数 1
EN

Stack Overflow用户

发布于 2016-06-24 23:42:30

Apache Header (在Chrome中测试):

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Fri, 24 Jun 2016 14:56:03 GMT
Server: Apache
Last-Modified: Fri, 24 Jun 2016 14:43:34 GMT
ETag: "443-5360731fd11b2"
Accept-Ranges: bytes
Content-Length: 1091
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: image/svg+xml
Content-Encoding: gzip

Go Header (Chrome测试):

代码语言:javascript
复制
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 1091
Content-Type: image/svg+xml
Last-Modified: Fri, 24 Jun 2016 14:43:34 GMT
Date: Fri, 24 Jun 2016 14:54:56 GMT

Apache在标题中发送"Content-Encoding: gzip“。

工作代码(大量受https://groups.google.com/forum/#!topic/golang-nuts/Upzqsbu2zbo启发)

https://play.golang.org/p/eWxqHt9QbM

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38015870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档