首页 > 其他分享 >WEB端实现文件夹上传

WEB端实现文件夹上传

时间:2023-11-06 14:34:30浏览次数:29  
标签:WEB System chooseFolder var myFile 文件夹 println 上传 out

webkitdirectory属性。这个属性加上之后,就是选择文件夹,然后根据自己业务上传至后台;
前端代码:

<form action="${ctxPath}/invoice/uploadFolder" method="post" enctype="multipart/form-data">
<input name="chooseFolder" type="file" id="chooseFolder" webkitdirectory/>
<input type="submit" id="uploadFolder" style="display : none"/>
</form>
<iframe name="form" id="form" style="display:none"></iframe>
监听上传,ajax提交请求:

/* 监听上传文件夹按钮 */
$("#chooseFolder").on("change", function() {
var sIndex = layer.msg("识别数据中,请稍候", {icon:16, time:false, shade:0.1});
dataList = [];
var fileList = [];
var files = this.files;
console.log(files);
for(var i = 0;i<files.length;i++){
fileList.push(files[i])
}
let formData = new FormData()
formData.append("chooseFolder",files);
fileList.forEach(function (file) {
formData.append('chooseFolder',file, file.name)
})
$.ajax({
url: "${ctxPath}/invoice/uploadFolder",
data: formData,
type: "Post",
dataType: "formData",
cache: false,//上传文件无需缓存
processData: false,//用于对data参数进行序列化处理 这里必须false
contentType: false, //必须
complete: function(result) {
var responseText = result.responseText
var data = JSON.parse(responseText)

data.data.forEach(function (d){
dataList.push(d);
})
tableInfo.reload({
data: dataList,
limit: dataList.length,
});
layer.close(sIndex);
}
})
});
后端Controller:

@RequestMapping("uploadFolder")
public String uploadFolder(@RequestParam("chooseFolder") MultipartFile[] chooseFolder, HttpServletRequest request) throws IOException {

for(MultipartFile myFile: chooseFolder){
if(myFile.isEmpty()){
System.out.println("空");
}else {
System.out.println("文件长度" + myFile.getSize());
System.out.println("文件类型" + myFile.getContentType());
System.out.println("文件名" + myFile.getName());
System.out.println("文件原名" + myFile.getOriginalFilename());
System.out.println("*********************************");

// 写处理图片业务
}
}
}

 

参考文章:http://blog.ncmem.com/wordpress/2023/11/06/web%e7%ab%af%e5%ae%9e%e7%8e%b0%e6%96%87%e4%bb%b6%e5%a4%b9%e4%b8%8a%e4%bc%a0/

欢迎入群一起讨论

 

 

标签:WEB,System,chooseFolder,var,myFile,文件夹,println,上传,out
From: https://www.cnblogs.com/songsu/p/17812573.html

相关文章

  • 关于文件夹权限不够,引起的安装错误的处理方法
      文件夹没有权限,在更改文件夹的权限的时候会报各种错误,很多人在一报错的情况下,都不知道如何设置了。今天给大家带来一个用命令来处理这个问题的方法:假设文件路径为:C:\Windows\System32\en-US  比如:在安装软件的时候,报这个错误:用上面的设置文件权限的方法又报错的情况......
  • 关于Mac OS虚拟机下共享文件夹的方法
     1、确保左上角苹果标志的旁边是“Finder”;2、点击"Finder";3、选择“偏好设置设置”;4、然后在“通用”标签下勾选“已连接服务器”;5、重启。    FinderPreference--General--连接服务器 设置边栏: 重启之后可以看到共享文件夹: ......
  • 模拟攻击beescms框架网站,并且一步一步渗透测试,上传shell,连接蚁剑,拿到对方网站根目录
    打开网站发现它是beescms框架搭建的网站,一言不合直接用webpathbrute扫描发现了管理员登录页面尝试任意用户名密码登录发现不太行,直接暴力破解,先burp抓数据包发现有4个参数有user,password,code,submit,把submit=ture修改为submit=false验证码就不会刷新了就是284c。接下来......
  • 企业文件夹同步,飞驰云联让数据管理更高效
    随着企业数据量的不断增加,如何高效地进行文件夹同步已成为企业提升工作效率、确保数据安全的重要一环。飞驰云联的同步软件作为一款专门针对企业级用户的数据同步解决方案,在实践中表现出色,值得信赖。飞驰云联的同步软件是一款高效、稳定、易用的企业级文件夹同步工具。它支持多......
  • 图解串一串 webpack 的历史和核心功能
    提到打包工具,可能你会首先想到webpack。那没有webpack之前,都是怎么打包的呢?webpack都有哪些功能?为什么这么设计呢?这篇文章我们就来一起探究一下。其实之前都不打包的,就是js、css分别用对应的工具编译下,然后在html里引入。比如js用babel编译,再用terser压缩、css用sa......
  • '/webhook'​​​是你的服务器上的一个路径,当有人发送POST请求到这个路径时,​​webhoo
    在这段代码中,'/webhook'是你的服务器上的一个路径,当有人发送POST请求到这个路径时,webhook()函数就会被调用。你可以根据你的需求来选择这个路径,只要它在你的服务器上是唯一的。例如,如果你的服务器的URL是http://myserver.com,那么当飞书机器人发送POST请求到http://myserver.com/web......
  • WebApi入门
    1.怎么理解webapi可以把他看作一个仓库,负责接收货物和出口货物只是一个地址MVC访问展示的是一个页面webapi访问地址是拿到一个数据2.webapi接口地址从何而来新建一个webapi项目,启动这是线程为我们提供的地址请求了这个地址,返回了一串数据https://localhost:5001/W......
  • java web 上传文件夹的实现(支持Chrome)
    上传文件夹的思路其实就是将文件夹中所有的文件上传到服务器,上传的时候文件名称要从文件夹目录开始截取,以下图中的目录为例,index.html文件应该以news_1/index.html的路径传到服务器,所有文件上传之后,上传到服务器的文件夹路径是从上传的上传的文件路径截取到文件夹结束。下面详细介......
  • wasm-vips libvips webassembly 实现
    wasm-vips是利用了emscripten将libvips编译为webassembly可以实现在node以及浏览器中使用libvips强大的图片处理处理以下是一个简单的试用参考试用app.js constVips=require('wasm-vips'); asyncfunctioninit(){constvips=awaitVips......
  • 11、SpringMVC之文件下载和上传
    创建名为spring_mvc_file的新module,过程参考9.1节和9.5节11.1、文件下载11.1.1、创建图片目录并放置图片11.1.2、页面请求示例<ath:href="@{/test/down}">下载图片</a>11.1.3、控制器方法示例packageonline.liaojy.controller;importorg.springframework.http.Ht......