2010-12-13 35 views
3

J'essaie d'ajouter un téléchargement d'image dans ma page Freemarker (fichier ftl) en utilisant la technologie Spring et Hibernate - c'est l'erreur que j'ai eu chaque fois que j'exécute l'application:Statut HTTP 500 en utilisant le téléchargement de fichiers avec freemarker

état HTTP 500 - Le serveur rencontré une erreur interne() qui empêché de satisfaire cette demande .

et ceci est le code:

fichier 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"/> 

fichier 3-ftl:

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

contrôleur 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

Pouvez-vous poster d'autres journaux d'erreurs? –

+1

Oui, nous avons besoin des journaux d'erreur sur le serveur. Si c'est un problème de freemarker, d'après mes expériences, les journaux d'erreurs sont très utiles. – Andy

+1

Il n'y a aucune exception ou le journal des erreurs apparaît juste: "HTTP Status 500 - Le serveur a rencontré une erreur interne() qui l'a empêché de répondre à cette requête." apparaître dans le navigateur .. Je ne sais pas où est le problème vraiment. – se7so

Répondre

1

Assurez-vous de suivre la Documentation à la lettre. En règle générale, avez-vous défini correctement votre élément <form>, avec son attribut enctype?

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

Pour plus de conseils, les journaux sont nécessaires, comme d'autres commentaires l'ont déjà dit. Si aucun journal spécifique n'est écrit, assurez-vous de configurer le seuil de votre logger à un niveau inférieur; Cependant, un code 500 doit être associé à un journal ERROR, rarement filtré. Vérifiez votre configuration de journal! :)

HTH

+0

+1, notre stagiaire a eu le même problème et ce fut la solution! BTW, rien dans les journaux soit (WebLogic 10.3) –