2016-08-01 2 views
0

私は、ビューのデータを使ってPDFフォームに記入する必要があるアプリケーションを開発しています。私がSpring Boot Securityを設定する前に、すべてが正常に動作していました。スプリングブートセキュリティ:新しいPDFへのアクセス

このPDFを作成するフォルダは公開されています。アプリケーションを起動すると、開始前に作成されたすべてのPDFにアクセスできますが、新しいファイルを作成すると(ファイルシステム上でファイルを開き、正しく作成されていることを確認できます)、このファイルのリクエストにより、 404が見つかりませんでした。

アイデア?

答えて

0

staticリソースとしてあなたのpdfsを提供することができます。 Springブートによるpdfディレクトリの登録。

次の構成では、pdfのMIMEタイプが登録され、静的リソースが構成されます。

@Configuration 
public class WebConfigurer implements EmbeddedServletContainerCustomizer { 

/** 
* Set up Mime types. 
*/ 
@Override 
public void customize(ConfigurableEmbeddedServletContainer container) { 
    MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); 
    // IE issue, see https://github.com/jhipster/generator-jhipster/pull/711 
    mappings.add("html", "text/html;charset=utf-8"); 
    // CloudFoundry issue, see https://github.com/cloudfoundry/gorouter/issues/64 
    mappings.add("json", "text/html;charset=utf-8"); 

    mappings.add("pdf", "application/pdf"); 

    container.setMimeMappings(mappings); 
} 

    .... 
} 

// Register static resources 
@Configuration 
public class AppMvcConfiguration extends WebMvcConfigurerAdapter { 

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    // Including all static resources. 

    registry.addResourceHandler("/assets/**", 
       "/css/**", 
       "/img/**", 
       "/js/**", 
       "/pdf/**" 
     ).addResourceLocations("/assets/", 
       "/css/", 
       "/img/", 
       "/js/", 
       "/pdf/**" 
).resourceChain(true) 
    .addResolver(new PathResourceResolver()); 

    super.addResourceHandlers(registry); 

}}

+0

おかげであなたの答えのためのアントン。問題は、サーバーではなく設定です。私がファイルを作成したとき、私はビューにURLを送ろうとしていましたが、サーバーが起動したときにファイルが存在しなかったので、URLをsendigの代わりに、HttpServletレスポンスを使って完全なファイルを送ります。 – nick85

+0

@ nick85あなたの問題をうれしく思います。 –

関連する問題