2017-09-15 9 views
0

J'utilisais Jetty 9.2 et ajoutait un type mime explicite qui définissait le type de contenu pour mp4 lors de l'envoi de films au client. Cela a bien fonctionné. J'ai ensuite dû mettre à niveau vers Jetty 9.4.6 et définir AcceptRanges sur true pour que Safari puisse lire mp4. Cela fonctionne aussi bien. Toutefois, depuis l'application de la mise à niveau, le type de contenu pour mp4 n'est plus renvoyé au client. Pourquoi ?Jetty 9.4.6 n'envoie pas de type de contenu pour mp4

// Add a handler for statically served content 
    ResourceHandler resourceHandler = new ResourceHandler(); 

    MimeTypes mimeTypes = new MimeTypes(); 
    mimeTypes.addMimeMapping("mp4", "video/mp4"); 
    resourceHandler.setMimeTypes(mimeTypes); 

    resourceHandler.setAcceptRanges(true); 
    resourceHandler.setResourceBase("content"); 
    handlerCollection.addHandler(resourceHandler); 

    // This handle will deal with unhandled requests in the server. For requests for favicon.ico, the Jetty icon is served. 
    // For all other requests a normal 404 is served. 
    handlerCollection.addHandler(new DefaultHandler()); 

Filed Issue #1823 eclipse/jetty.project

+0

Sons comme un bug possible, vous devez déposer au https://github.com/eclipse/jetty.project/issues que –

+0

Fait, bug ajouté au lien fourni – paulh

Répondre

0

gars Jetty sont revenus avec une solution de contournement, bug sera corrigé à l'avenir. Les travaux suivants

// Add a handler for statically served content 
    ResourceHandler resourceHandler = new ResourceHandler(); 
    resourceHandler.setAcceptRanges(true); 
    resourceHandler.setResourceBase("content"); 

    // Create a content handler, add the above resource handler and add a mime type for mp4 
    ContextHandler context = new ContextHandler("/"); 
    context.setHandler(resourceHandler); 
    MimeTypes mimeTypes = new MimeTypes(); 
    mimeTypes.addMimeMapping("mp4", "video/mp4"); 
    context.setMimeTypes(mimeTypes); 

    HandlerList handlers = new HandlerList(); 
    handlers.addHandler(context); 

    // This handle will deal with unhandled requests in the server. For requests for favicon.ico, the Jetty icon is served. 
    // For all other requests a normal 404 is served. 
    handlers.addHandler(new DefaultHandler());