成都创新互联网站制作重庆分公司

java实现多文件上传效果的方法

小编给大家分享一下java实现多文件上传效果的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

专注于为中小企业提供网站设计制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业长宁免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

废话不多说,直接上代码:

@ApiOperation(value = "批量上传", notes = "批量上传", httpMethod = "POST")
    @PostMapping(value = "/upload")
    public void upload(HttpServletRequest request) {
        MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest)request;
        String savePath="E:/test/";

        //保证目录存在
        File dir = new File(savePath);
        if (!dir.isDirectory()) {
            dir.mkdirs();
        }

        Iterator it = multipartRequest.getFileNames();
        while (it.hasNext()) {
            MultipartFile multipartFile = multipartRequest.getFile(it.next());
            if (multipartFile != null) {
                String originName = multipartFile.getOriginalFilename();
                int subIdx = originName.lastIndexOf(".");
                String suffix = originName.substring(subIdx);//文件后缀
                File file;
                String showName;
                while (true) {
                    showName = UUID.randomUUID().toString().replaceAll("-", "") + suffix;//文件名称
                    file = new File(savePath + showName);
                    if (!file.exists()) {
                        break;
                    }
                }
                byte[] buffer = new byte[1024];
                try (OutputStream os = new FileOutputStream(file);
                     InputStream is = multipartFile.getInputStream()){
                    while (is.read(buffer) != -1) {
                        os.write(buffer);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

以上是java实现多文件上传效果的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站题目:java实现多文件上传效果的方法
当前链接:http://cxhlcq.com/article/jpgpsj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部