2016-05-24 12 views
0

次のように私は、ユーザーによってアップロードされたファイルを格納します。のApache Tomcatにアップロードされた静的ファイルを格納するために

InputStream inputStream = null; 
OutputStream outputStream = null; 

MultipartFile file = uploadedFile.getFile(); 

String fileName = file.getOriginalFilename(); 
String path ="C:/apache-tomcat-8.0.18/uploads/images/"; 

try { 
    inputStream = file.getInputStream(); 
    File newFile = new File(path +fileName); 
    if (!newFile.exists()) { 
    System.out.println(newFile.getAbsolutePath()); 
    newFile.createNewFile(); 
    } 
    outputStream = new FileOutputStream(newFile); 
    int read = 0; 
    byte[] bytes = new byte[1024]; 

    while ((read = inputStream.read(bytes)) != -1) { 
    outputStream.write(bytes, 0, read); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
finally { 
    outputStream.close(); 
} 

アップロードされたファイルが保存されなければならないパスでなければなりませんか?画像を保存してJSPページに表示したい。

私は当初、私のMavenプロジェクトのフォルダのファイルをwebapp/imagesに保存しました。しかし、アプリケーションを再デプロイすると、アップロードされたファイルも削除されます。どうすればこの問題を解決できますか?

アップロード時C:/apache-tomcat-8.0.18/uploads/images/ JSPページに表示するイメージを取得できません。エラーローカルリソースをロードできません。

+0

を見てみましょう、どのような画像( '​​')のためのHTMLコードは次のように見えますか? – manish

答えて

0

ファイルをディスクに格納する最も良い方法は、Java用コンテンツリポジトリAPI(JCR)を使用することです。私はJackrabbitを提案する。あなたのJSPがブラウザでレンダリングされるとき

はこの答えRecommended way to save uploaded files in a servlet application

+0

私はリンクを見た 'ファイルアップロード=新しいファイル(" /パス/ to/uploads ");' しかし、私はundastandどのようなパスを書く必要がありますか?それは私のWebアプリケーションではないですか? –

関連する問題