Tag Archives: svg

Allowing upload SVG in WordPress

If you try to upload an SVG file in your WordPress media library, the process will return the error

Sorry, this file type is not permitted for security reasons

To add new MIME types (in this case SVG) to the “white list” of file formats that are allowed to be uploaded just edit your theme function.php and add:

function custom_upload_mimes ( $existing_mimes=array() ) {
 
	$existing_mimes['svg'] = 'image/svg+xml';
	$existing_mimes['svgz'] = 'image/svg+xml';
 
	return $existing_mimes;
}

Easy.

Extra

To see how to configure lighttpd to handle correclty SVG and SVGZ please read “SVG e SVGZ con lighttpd” (in Italian)

SVG e SVGZ con lighttpd

Per fornire correttamente contenuti SVG e SVG compressi (.svgz) attraverso un server lighttpd è necessario aggiungere alcune righe alla configurazione di default.

Attivare il supporto al modulo compress nel file /etc/lighttpd/lighttpd.conf de-commentando la relativa riga in server.modules oppure aggiungendo il comando

server.modules  += ( "mod_compress" )

Aggiungere al gruppo

mimetype.assign   = ( [...] )

Il MIME corretto per SVG (image/svg+xml)

  ".svg"          =>      "image/svg+xml",
  ".svgz"         =>      "image/svg+xml",

E in ultimo aggiungere il supporto all’SVG compresso (e in questo caso anche anche al javascript compresso)

$HTTP["url"] =~ "\.(svg|js)z$" {
    setenv.add-response-header = (
    "Content-Encoding" => "x-gzip" ), compress.filetype = ("")
}

Per comodità è possibile salvare la configurazione in un nuovo file in /etc/lighttpd/conf.d/ (es. /etc/lighttpd/conf.d/svg.conf)

Riferimenti:

http://redmine.lighttpd.net/projects/lighttpd/wiki#Documentation