首页IT科技前端上传文件到后端(前端上传文件夹或文件至后端(SpringBoot))

前端上传文件到后端(前端上传文件夹或文件至后端(SpringBoot))

时间2025-04-30 07:03:00分类IT科技浏览4703
导读:前端 前端上传文件夹使用的是...

前端

前端上传文件夹使用的是input标签的file属性,最重要的是webkitdirectory

这个属性            ,有了这个属性之后input才可以选择文件夹                   ,但也只能选择文件夹了             。

在webkitdirectory的官方文档里有对该属性的说明                  。 <input type="file" id="folder" name="file" webkitdirectory multiple />

我们可以在这基础上做延伸      ,做一个表单来上传文件夹:

<form action="#" method="POST" enctype="multipart/form-data"> <input id="folder" type="file" name="file" webkitdirectory/> <input type="submit" value="上传文件夹"/> </form>

form要加上enctype=“multipart/form-data             ”         ,method用的是POST                   ,action写的是后端上传方法的接口          ,例如:http://localhost:8080/file/upload

效果是这样的

有点简陋      ,但不碍事      。

后端

前端把文件夹传给后端后                  ,后端该怎么接收呢?

@PostMapping("/qnupload") public String qiniuUpload(HttpServletRequest request) throws IOException { MultipartHttpServletRequest params = ((MultipartHttpServletRequest) request); List<MultipartFile> files = params.getFiles("file"); for (int i=0; i < files.size();i++) { kodeUploadServiceImpl.uploadFiles(files.get(i)); System.out.println("success:" + files.get(i)); } return "complete"; }

HttpServletRequest接收             ,然后将request转型为MultipartHttpServletRequest   ,再通过getFiles方法获得List                  ,我们就可以对List做遍历来处理每个文件了          。

最后                ,如果想上传文件的话就要在开个form表单,去掉webkitdirectory属性就好了               ,再加个multiple属性就可以多选了                   ,因为理论上用了webkitdirectory属性就不能选择文件了   ,但是嗷            ,我把项目放服务器上测试的时候                   ,室友用ipad打开网站后上传了个图片文件成功了      ,具体原因我也没搞懂                   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
h5适配方案(h5响应式布局、PC和移动端适配方案) tensorflow-gpu对应cuda(tensorflow使用显卡gpu进行训练详细教程)