Utilisation des objets MultipartFile

Dans le processus de développement commercial habituel, le téléchargement de fichiers est un scénario très courant. Spring MVC fournit une prise en charge directe des téléchargements de fichiers, qui est implémentée par MultipartResolver. Spring MVC utilise la technologie Apache Commons FileUpload pour implémenter une classe d'implémentation MultipartResolver - CommonsMultipartResolver. Par conséquent, le téléchargement de fichiers de Spring MVC doit s'appuyer sur le composant d'Apache Commons FileUpload.

Spring Mvc liera le fichier téléchargé à l'objet MultipartFile. MultipartFile fournit des méthodes pour obtenir le contenu du fichier téléchargé, le nom du fichier, etc. Le fichier peut également être stocké localement via la méthode transferTo().

Table des méthodes communes de l'objet MultipartFile :

Méthodes communes MultipartFile
nom de la méthode effet
octet[] getBytes() Obtenir les données du fichier
Chaîne getContentType[] Obtenez le type MIME du fichier, tel que image/jpeg, etc.
InputStream getInputStream() obtenir le flux de fichiers
Chaîne getName() Obtenir le nom du composant de fichier dans le formulaire
Chaîne getOriginalFilename() Obtenir le nom d'origine du fichier téléchargé
Longue getSize() Obtenir la taille en octets du fichier en octets
booléen isEmpty() Vérifiez s'il y a un fichier téléchargé
void transferTo(File dest)

Enregistrer les fichiers téléchargés dans un fichier de répertoire

Obtenez le fichier téléchargé et enregistrez l'exemple local :

 private String dirPath = "D:/source";
    
 public void fileUpload(MultipartFile picFile,String folderName) throws IOException{
        //获取文件原始名以获取它的文件后缀
        String fileName = picFile.getOriginalFilename();
        //获取"."后的后缀名
        String suffix = fileName.substring(fileName.lastIndexOf("."));
        //使用UUID.randomUUID()生成一个全局唯一的字符串
        fileName = UUID.randomUUID()+suffix;
        File dirFile = new File(dirPath);
        if (!dirFile.exists()){
            dirFile.mkdirs();
        }
        String filePath = dirPath + "/"+folderName + "/"+ fileName;
        File dirFile2=new File(filePath);
        if (!dirFile2.exists()){
            dirFile2.mkdirs();
        }
        //将文件保存到本地
        picFile.transferTo(dirFile2);
 }

Je suppose que tu aimes

Origine blog.csdn.net/qq_43780761/article/details/126564391
conseillé
Classement