2016-06-24 13 views
0

Im Versuch, statische .svgz Dateien (komprimierte SVG) mit dem folgende Skript zu dienen:Golang Statische Dateien (SVGZ)

http.ListenAndServe(":9090", http.FileServer(http.Dir("/srv/www/htdocs/"))) 

im den folgenden Fehler erhalten:

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. 

wenn ich versuche, Holen Sie die gleiche Datei über Apache, die Datei wird ordnungsgemäß angezeigt.

gibt es eine Möglichkeit, das zu beheben?

+0

Welche Inhaltstyp hat jeder Server Rückkehr? – JimB

+0

Ich habe auch versucht mit BEGO, gleiche Ergebnisse – aissa

+0

können Sie es versuchen: http://97.107.133.88/test.svgz und http://97.107.133.88:9090/test.svgz – aissa

Antwort

0

Das Go http.FileServer fügt nicht automatisch für Sniffed-Dateien hinzu. Wenn die Datei vorkomprimiert ist, müssen Sie den entsprechenden Wert hinzufügen.

Sie können Content-Encoding: gzip zu den Headern hinzufügen und http.ServeFile in Ihrem Handler verwenden.

+0

Dank für die Antwort, keine Ahnung, wie dies mit BEGO FW durchgeführt werden kann, sind Svgz-Dateien unter statischen Ordner \ – aissa

0

Apache Header (getestet in Chrome):

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 (getestet in Chrome): in der Kopfzeile:

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 "gzip Content-Encoding" senden.

Code Arbeiten (Schwer von https://groups.google.com/forum/#!topic/golang-nuts/Upzqsbu2zbo inspiriert)

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

+0

noch die Gleiches, versuche http://97.107.133.88:9090/test.svgz – aissa

+0

Ich versuche es in nginx, arbeite mit Chrome (51.0.2704.106) und scheitere bei Firefox (45.0.2). Und kann mit Go nicht wieder arbeiten. Keine Ahnung für jetzt .. – dmknob