Maison > Java > javaDidacticiel > le corps du texte

Comment implémenter la fonction de téléchargement de dossier en Java

PHPz
Libérer: 2023-05-10 20:52:04
avant
2696 Les gens l'ont consulté

1. Comment configurer le composant de téléchargement sur le front-end et télécharger des ressources sur le service backend

1) Nous devons d'abord créer un nouveau formulaire pour soumettre des dossiers

1. Ajoutez un composant de soumission d'entrée avec type=file et ajoutez le logo webkitdirectory. Utilisez la fonction de téléchargement de dossier

2. Ajoutez l'événement @change="uploadSoundCodeFolder" Lorsque nous téléchargeons le dossier, la fonction uploadSoundCodeFolder() sera déclenchée pour gérer la logique de téléchargement

<form id="uploadSoundCodeFolderForm" 
 method="post" 
enctype="multipart/form-data">
  <input id="fileFolder" name="fileFolder" type="file" 
 		@change="uploadSoundCodeFolder" webkitdirectory>
</form>
Copier après la connexion

uploadSoundCodeFolder(). La logique d'implémentation est la suivante

uploadSoundCodeFolder(e){
      this.uploadSoundCodeLoading = true;
      //获取到选中的文件夹内的所有文件
      //files 为一个集合
      //可通过遍历 files 的方式获取到每个文件的大小等数据,来实现大小限制等需求
      let files = e.target.files;
		
      //中间省略大小限制等需求......
      
      //获取表单数据
      let formData = new FormData(document.getElementById("uploadSoundCodeFolderForm"));

	  //调用后台服务方法来提交该表单数据
	  uploadSoundCode(formData).then((res)=>{
                _this.$message.success("上传成功")
				//上传成功后清空表单数据
      			$("#fileFolder").val(&#39;&#39;);
      })
}
Copier après la connexion

2) Ensuite, nous ajoutons quelques boutons dans notre propre cadre pour déclencher le formulaire caché

L'avantage est qu'il utilise la fonction de téléchargement du dossier de formulaire sans utiliser son interface utilisateur

<!-- 首先创建一个按钮用来触发上传事件 uploadSoundCodeBtn() -->
<el-button  v-loading="uploadSoundCodeLoading" 
@click="uploadSoundCodeBtn">
上传文件夹
</el-button>
Copier après la connexion
/*上传事件触发的方法*/
uploadSoundCodeBtn(){
  $("#fileFolder").click();
},
Copier après la connexion

2. Comment recevoir et traiter les données du formulaire de dossier en arrière-plan

Ici, nous utilisons le type List fileFolde pour accepter la collection de fichiers envoyée depuis le front-end fileFolde est le nom sous la forme

@RequestMapping(value="/uploadSoundCode",method= RequestMethod.POST)
public AjaxResult uploadSoundCode(List<MultipartFile> fileFolde) throws IOException {
        String soundCodeUrl = HereUtil.uploadSoundCode(fileFolder);
        return AjaxResult.success(soundCodeUrl);
    }
Copier après la connexion

Ensuite, enregistrez simplement le fichier sur le serveur en fonction du. affaires

public static String uploadSoundCode(List<MultipartFile> files) throws IOException {

        for (MultipartFile file : files) {
            String fileName = file.getOriginalFilename();
            if (StrUtil.isBlank(fileName)){
                continue;
            }
			
			//上传后的URL全路径
            String fullFilePath = "上传的跟路径" + fileName;
            FileUtil.writeFromStream(file.getInputStream(), fullFilePath);
        }

        return "";
    }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!