2010-12-13 23 views
3

フリーメーカーのページ(ftlファイル)に春と休止状態の技術を使用して画像アップロードを追加しようとしています - これはアプリケーションを実行するたびに発生したエラーです。freemarkerでファイルアップロードを使用する場合のHTTPステータス500

HTTPステータス500 - サーバ この要求を満たすからそれを防ぐことが内部エラー()が発生しました。

これはコードである:

1-POMファイル:

<dependency> 
    <groupId>commons-fileupload</groupId> 
    <artifactId>commons-fileupload</artifactId> 
    <version>1.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-io</artifactId> 
    <version>1.3.2</version> 
</dependency> 

2-APP-config.xmlの:

<bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/> 

3-FTLファイル:

<input type="file" id="image" name="image" value=""> 

4-webコントローラ:

@RequestMapping(method= RequestMethod.POST) 
public String post(Model model , HttpServletRequest req , HttpSession session,@RequestParam("image") MultipartFile multipartFile) throws IOException{ 

    // transfer the uploaded image to the place where images exist in project 
    multipartFile.getBytes(); 
    File destination = new File("/home/user/Pictures/" + multipartFile.getOriginalFilename()); 
    multipartFile.transferTo(destination); 


    // delete the original uploaded image 
    destination.delete(); 


    return "redirect:index"; 

} 
+2

さらにエラーログを投稿できますか? –

+1

ええ、サーバーにエラーログが必要です。それが私の経験からfreemarkerの問題であれば、エラーログは非常に役に立ちます。 – Andy

+1

例外またはエラーログだけが表示されます。「HTTPステータス500 - サーバーは内部エラー()によってこの要求を実行できませんでした。」ブラウザに表示されます..私は問題が本当にどこにあるのか分かりません。 – se7so

答えて

1

Documentationに必ず従ってください。通常、enctype属性を使用して<form>要素を正しく定義しましたか?

<form method="post" action="/form" enctype="multipart/form-data"> 

ヒントについては、他のコメントに既に述べられているように、ログが必要です。特定のログが書き込まれていない場合は、必ずロガーのしきい値を低く設定してください。 500のコードは、めったにフィルタリングされないERRORレベルのログに関連するはずです。ログ設定を再確認してください! :)

HTH

+0

+1、私たちの研修生は同じ問題を抱えており、これが解決策でした! btw、ログには何もありません(WebLogic 10.3) –

関連する問題