首页 > 其他分享 >js实现上传文件夹功能

js实现上传文件夹功能

时间:2023-12-13 10:04:10浏览次数:27  
标签:files err oss js 文件夹 let 上传

最近在研究上传文件夹功能,并上传到阿里云oss,研究了几天终于实现了。

前端代码:添加 “webkitdirectory” 标签表示支持 文件夹上传

<input type='file' id="inputUploadDir" name="file" webkitdirectory >

js代码部分

$("#inputUploadDir").change(function (e) {
       let files =this.files
        let filesArr = []
       //遍历全部文件
        for(let j =0,len=files.length; j < len; j++) {
                //上传单个文件
                 if(files[j].name !=".DS_Store") {//过滤mac下面的 .DS_Store文件
                 let ossFileUrl = genFileUrl(files[j].name)  // oss的完整文件路径
                 uploadDirFile(ossFileUrl, files[j])  //上传到oss
      }
      //todo  上传到后端,后端通过解析 file.webkitRelativePath   熟悉,生成文件夹路径
})
uploadDirFile(ossUrl, fileName){
           let client = new OSS({
                 region:  "",   accessKeyId: "", accessKeySecret: "", bucket: ""
           })
           client.multipartUpload(ossUrl, fileName).then(function (result) {
                 console.log('success upload '+ result.name)
           }).catch(function (err) {
                 console.log("err", err);
           });
}
genFileUrl( fileName){
       return "";  //oss存储目录规则
}


 

 

参考文章:http://blog.ncmem.com/wordpress/2023/12/06/js实现上传文件夹功能/


 

标签:files,err,oss,js,文件夹,let,上传
From: https://blog.51cto.com/u_14023400/8798212

相关文章

  • js上传文件夹的功能如何实现
    在JavaScript中无法直接上传整个文件夹,但可以通过以下步骤实现上传文件夹的功能:1.使用``标签来选择文件夹。该标签支持同时选择多个文件和文件夹。2.监听文件夹选择变化的事件,并获取所选择的文件和文件夹。constfileInput=document.querySelector('input[type="file"]');fil......
  • Javascript文件上传
    什么是文件上传文件上传包含两部分,一部分是选择文件,包含所有相关的界面交互。一部分是网络传输,通过一个网络请求,将文件的数据携带过去,传递到服务器中,剩下的,在服务器中如何存储,那就与前端无关了。制作文件上传相关的功能时,一定要先确保文件上传的接口可用,否则之后会遇到无数的麻烦,无......
  • 基于SpringBoot实现文件的上传下载
    (一)概述文件上传下载一直都是一个系统最常用也是最基本的功能点,刚好最近公司的项目上有用到这个功能,于是自己就用SpringBoot也写了一个简化的版本,已实现文件的上传和下载功能。(二)创建项目首先创建一个SpringBoot的项目,接着引入相关的依赖,因为涉及到数据库的操作,所以依赖会比较多一些......
  • 使用SpringBoot实现文件上传和下载
    上传文件:1.在`pom.xml`文件中添加依赖:xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boo......
  • springboot实现文件的上传下载
    SpringBoot提供了简单易用的方式来处理文件上传和下载功能。下面是一个简单的示例:创建一个文件上传的控制器@RestControllerpublicclassFileUploadController{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(FileUploadController.class);@PostMappi......
  • Spring Boot中的文件上传和下载实现
    文件上传文件上传是Web应用程序中常见的功能之一,SpringBoot提供了MultipartFile接口来处理文件上传。以下是实现文件上传的步骤:添加依赖在pom.xml文件中添加以下依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</arti......
  • Spring Boot实现文件上传和下载
    实现SpringBoot文件上传和下载的步骤:1.文件上传在pom.xml文件中添加依赖:spring-boot-starter-web和spring-boot-starter-thymeleaf。创建一个上传前端的页面,包括一个表单来选择文件和一个提交按钮。在Controller中添加一个POST方法,该方法接受MultipartFile参数,将文件保存在服务器......
  • jsHTTP/HTML/浏览器
    1|前端基础1.1|HTTP/HTML/浏览器说一下http和https参考回答:https的SSL加密是在传输层实现的。(1)http和https的基本概念http:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏......
  • 汇编-js符号位SF=1则跳转(负数则跳转)
      .386.modelflat,stdcalloptioncasemap:none.stack4096IncludeIrvine32.incincludelibIrvine32.libExitProcessPROTO,dwExitCode:DWORD.data.codemainPROCoral,10000000b;让符号位SF=1jst1;js符号位S......
  • js 跳出多层循环(终止循环)
    1、thrownewError()优点:可以中断循环执行;适用于各种形式(for循环,forEach循环等)缺点:相当于强制抛错中断执行,不仅终止了循环,后续代码也不再执行废话不多说,上例子,找出【第一个爱吃芒果】的人:constarr=[{name:'张三',fruit:['苹果','香蕉']}......