télécharger et télécharger le fichier SpringMVC

SpringMVC pour le téléchargement de fichiers et télécharger
étape de JavaWebrapportnous avons utilisé le servlet pourtéléchargement de fichiers ettéléchargementopérations et SpringMVC réalisersoutien direct pourfonctionnement de téléchargement, fournissantmultipartanalyseur. MultipartFileElle fournitméthodes pouropérations de fichiers,rend plus facile de téléchargerfichiers. Quesoittéléchargement outéléchargement est de convertir le flux binaire, Comprenons la forme d'un cas defaçon d'utiliser le téléchargement SpringMVC fichier de miseœuvre.

Uploader

prêt

comprendre

  1. Téléchargement de fichiers Nous première chose à considérer est de savoir où télécharger le fichier? Il est chargé dans le répertoire du projet, ou le télécharger sur votre disque local?
  2. Étant donné que les fichiers téléchargés sont généralement des fichiers binaires, donc nous avons besoin d' un moyen de soumettre un formulaire à coder. En enctypefixant multipart/form-data, pour chaque champ d'entrée présentera (formulaire par défaut présenté comme un format de stockage de données différentes parties requête POST 名字-值, est manifestement pas approprié pour le type de chargement de fichier de données binaires similaire).
  3. Spring fournit une des multipartdonnées de l' analyseur CommonsMultipartResolver( MultipartResolverinterface classe d'implémentation), mais cet analyseur est basé sur la Apache Commons FileUploadtechnologie, la nécessité commons-filrUpload.jard' un soutien.

configuration

De plus, nous avons utilisé Avant le printemps et la SpringMVC d'abord les dépendances de pot, ont également besoin d'importer les fichiers jar suivants:

<! -文件上传下载-> 
<dependency>
<groupId> commons-fileupload </ groupId>
<artifactId> commons-fileupload </ artifactId>
<version> 1.3.1 </ version>
</ dependency>
<dependency>
<groupId> commons-io </ groupId>
<artifactId> commons-io </ artifactId>
<version> 2.4 </ version>
</ dependency>
在springmvc.xml中配置上传下载解析器
<! - le téléchargement et le téléchargement analyseur -> 
<bean ci - dessus mentionné id = "la MultipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver">
<Property name = "defaultEncoding" value = "UTF-8"> < / propriété>
<Property name = "maxUploadSize" value = "10485760"> </ propriété> <- définir la taille maximale prise en charge téléchargement B ->!
</ haricot>
exemple de code avant:

 

 L'arrière-plan de code exemple

@RequestMapping ( "/ insertMovie" ) 
    @ResponseBody 
    publique Carte <String, String> insertMovie (@RequestParam (valeur = "fichier", requis = false ) Fichier MultipartFile, 
                                          film Film, 
                                          HttpServletRequest demande 
                                          ) { 
        Carte <String, String> ret = nouvelle HashMap <String, String> (); 
        Film movie1 = movieServices.selectMovieByName (movie.getMovieCname ());
        si (movie1! = null ) { 
         ret.put ( "type", "erreur"
         ret.put ( "film existe déjà, ne pas ajouter le second" "MSG", );
          retour RET; 
        } 
        IF (. longueur movie.getMovieDetail () ()> 255 ) { 
            ret.put ( erreur "type", » " ); 
            ret.put ( " msg "" film détaille le texte est trop long, s'il vous plaît fournir une brève description " ),
             retour RET; 
        } 

      IF (file.getSize ()> 10485760 ) { 
          ret.put ( " du type "" erreur " ); 
          ret.put ( "msg", " la taille du fichier ne dépassant pas 10 M" );
            retour RET;
      } 
      Chaîne oldName = file.getOriginalFilename ();
      Du type String = oldName.substring (oldName.lastIndexOf () + 1 "" , OldName.length ());
       SI ! ( "JPG, JPEG, GIF, PNG" .toUpperCase () contient le (type.toUpperCase ()). ) { 
          ret.put ( "du type", "erreur" ); 
          ret.put ( "msg", "ajouter les images suffixe JPG, JPEG, GIF, Pang" ),
           retour RET; 
      } 
      // télécharger des images chemin enregistré, le chemin pour les films affiche du film / nom du film / image / image 
        String path = request.getSession (). getServletContext (). getRealPath ( "statiques / statiques / films /" + movie.getMovieCname () + « / image / " ), 
        cible de fichier = new new fichier (chemin);
        si (!target.exists ()) { 
            target.mkdirs (); 
        } 

      Chaîne newName "" = System.currentTimeMillis () + + Type; 

        essayez { 
            file.transferTo ( nouveau fichier (cible, newName)); 
        } Captures (IOException e) { 
            e.printStackTrace (); 
            ret.put ( "type", "erreur" ); 
            ret.put ( "msg", "文件保存异常" );
            retourner ret; 

        } 
        // 电影海报的项目绝对路径 
        movie.setMoviePicture ( "statiques / statiques / films /" + movie.getMovieCname () + "/ image /" + newName);
        Lorsqu'il est ajouté par défaut, l'état du film est fixé à 1, ce qui représente agressivement 
        movie.setMovieState (1 );
         int I = movieServices.insertMovie (Film),
         IF (I <0 ) { 
            ret.put ( "type", "erreur" ) ; 
            ret.put ( "msg", "ajouter échoué" ),
             retour RET; 
        } 

        ret.put ( "du type", "succès" ); 
        ret.put ( "msg", "ajouté avec succès" ); 

        retour RET; 

    }
Afficher le code

 

 

 

Je suppose que tu aimes

Origine www.cnblogs.com/ghwq/p/12446660.html
conseillé
Classement