Rumah  >  Artikel  >  Java  >  Bagaimana untuk melaksanakan fungsi muat naik folder dalam java

Bagaimana untuk melaksanakan fungsi muat naik folder dalam java

PHPz
PHPzke hadapan
2023-05-10 20:52:042716semak imbas

1. Bagaimana untuk menyediakan komponen muat naik di bahagian hadapan dan memuat naik sumber ke perkhidmatan bahagian belakang

1) Mula-mula kita perlu mencipta borang baharu untuk menyerahkan folder

1. Tambah jenis= Komponen penyerahan input fail, tambah logo webkitdirectory untuk menggunakan fungsi muat naik folder

2 Tambah acara @change="uploadSoundCodeFolder", apabila kami memuat naik folder, fungsi uploadSoundCodeFolder() akan dicetuskan. untuk mengendalikan logik muat naik

<form id="uploadSoundCodeFolderForm" 
 method="post" 
enctype="multipart/form-data">
  <input id="fileFolder" name="fileFolder" type="file" 
 		@change="uploadSoundCodeFolder" webkitdirectory>
</form>

uploadSoundCodeFolder() Logik pelaksanaan adalah seperti berikut

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;);
      })
}

2) Kemudian kami menambah beberapa butang dalam bingkai kami sendiri untuk mencetuskan bentuk tersembunyi

Kelebihan ini ialah borang digunakan fungsi muat naik folder tanpa menggunakan UInya

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

2. Cara menerima dan memproses data borang folder di latar belakang

Di sini kami menggunakan jenis List fileFolde untuk terima koleksi fail yang dihantar oleh bahagian hadapan fileFolde ialah nama dalam borang

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

dan kemudian simpan sahaja fail ke pelayan mengikut perniagaan

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 "";
    }

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi muat naik folder dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam