2012-02-08 14 views
0

パブリックフォルダに画像をアップロードするのが苦労しています。パブリックフォルダは、Webappフォルダ内のWEB-INFをシブリングしています。Spring MVCを使用してWEB-INFの外部にアクセスする方法

試行のように this.getClass().getResource("/images/16x16").toString()はnullポインタ例外を返します。リソースとして

私が追加した画像フォルダ

<mvc:resources mapping="/images/**" location="/public/images/" /> 

はそれを達成する方法はありますか?お読みいただきありがとうございます

答えて

3

まず、webappのフォルダにファイルを書き込むためのアクセス権があるとは限りません。アプリをwarファイルとしてデプロイすることができます。アプリを再デプロイすると、アップロードされたすべてのファイルがレンダリングされます。アップロードしたファイルは別の場所に保存してください。

第2に、Class.getResource()はクラスパスからリソースをロードします。ファイルシステムやWebアプリケーションのコンテキストからはロードされません。 Class.getResource()は、WEB-INF/classes、WEB-INF/libのjarの1つ、またはコンテナのクラスパスのjarに格納されているリソースのみを検索します。あなたは、(あなたがこのケースでやるべきではありません)Webアプリケーションのコンテキストから何かをロードServletContext.getResource()(またはgetResourceAsStream())を使用する必要がある場合

+0

iはpoint.letさんは私のアプリが、/ usr /下runingてと言う取得しますlocal/tomcat/myaqpp .ifファイルを/ home/myaccountname/imagesの下に置いて画像を保存すると、絶対パスからそれらがロードされます。私は正しい? –

+0

はい、ファイルIOを使用してイメージをロードします。 –