Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx offers to download SVG instead of showing it

Tags:

nginx

mime

svg

I try to show SVG file in HTML or separate tab but Nginx offers me to download it. I took normal SVG file which works on another site but not in my server.

Where is a problem?

Here is an example http://proximax.ru/media/content/final/plane2.svg Also here SVG in HTML http://proximax.ru/index/

like image 436
mapcuk Avatar asked Sep 12 '10 15:09

mapcuk


3 Answers

I fixed it. I added to /etc/nginx/mime.types

image/svg+xml svg svgz;

Then I checked that server responses correctly

wget -O - -S http://proximax.ru/media/content/final/avW30U.svg > /dev/null
..
Content-Type: image/svg+xml
..

Also I turned off other virtual spaces for be clear.

like image 136
mapcuk Avatar answered Oct 24 '22 12:10

mapcuk


The of your image is noted as application/octet-stream which a browser can only offer to download as it does not know how to interpret it.

From your index.html file it is clear that you were playing around with variations of the MIME-type, and it is unclear whether the standard requires image/svg or image/svg+xml (or standards being what they are, something else entirely).

like image 5
msw Avatar answered Oct 24 '22 12:10

msw


In my case, I put default_type application/octet-stream; after the include mime.types; cause the problem. And simply switch them fixed it. ^_^

like image 1
shellbye Avatar answered Oct 24 '22 12:10

shellbye