2016-07-05 6 views
1

Ich habe ein Problem mit einer Spring Boot-Anwendung, die statische .webm und .mp4-Dateien dienen soll. Wenn ich die Dateien in den Ordner static auf dem Klassenpfad ablegen, werden sie von der Anwendung mit dem Inhaltstyp application/octet-stream anstelle von video/webm ausgeliefert, wodurch sie nicht mitTags funktionieren. Ich habe versucht, den Ressourcen-Handler anzupassen, aber es scheint keine Methoden zum Setzen von Headern zu bieten. Bilder und andere Dateien funktionieren gut.Spring Boot liefert statische .webm und .mp4 Dateien mit falschem Inhaltstyp

Frühlings-Boot-Ausgang:

$ curl -s -D - localhost:8080/CmMs.webm -o /dev/null 
HTTP/1.1 200 
Last-Modified: Tue, 05 Jul 2016 18:08:41 GMT 
Accept-Ranges: bytes 
Content-Type: application/octet-stream 
Content-Length: 648708 
Date: Tue, 05 Jul 2016 18:22:40 GMT 

Ausgabe als es hat den Trick

$ curl -s -D - http://webm.land/media/CmMs.webm -o /dev/null 
HTTP/1.1 200 OK 
Server: nginx/1.1.19 
Date: Tue, 05 Jul 2016 18:23:21 GMT 
Content-Type: video/webm 
Content-Length: 648708 
Last-Modified: Tue, 05 Jul 2016 17:42:08 GMT 
Connection: keep-alive 
Accept-Ranges: bytes 
+0

Siehe http://stackoverflow.com/questions/27617275/spring-mvc-boot-does-not-send-mime-type-for-certain-files-woff-etc –

+0

Yup, Das hat den Trick gemacht. Ich denke, ich habe nach falschen Keywords gesucht. Danke vielmals! – soundchaser

Antwort

1

Anton Novopashin Antwort aussehen sollte. Dies trug dazu bei:

@Component 
public class ServletCustomizer implements EmbeddedServletContainerCustomizer { 

    @Override 
    public void customize(ConfigurableEmbeddedServletContainer container) { 
     MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); 
     mappings.add("webm", "video/webm"); 
     mappings.add("mp4", "video/mp4"); 
     container.setMimeMappings(mappings); 
    } 
} 
Verwandte Themen