当前位置: 首页 > 编程笔记 >

Java zip文件上传linux服务器

申屠泉
2023-05-05

最近遇到一个这样的需求:传一个压缩包给后台Linux服务器,后台保存后解压读取里面的文件,现学现做。在这里做个记录。

文件上传

文件上传有很多方法,这里推荐一个自己感觉挺好用的一种,代码奉上:

<!-- zip -->
<dependency>
    <groupId>net.lingala.zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>1.3.1</version>
</dependency>


/**
     * 上传压缩文件
     * @param file
     * @return
     * 
     */
    @PostMapping("/uploadZip")
    public R uploadZip(MultipartFile file) {
        try {
            // 存放压缩文件目录
            String path = "/usr/share/nginx/html/edcp/";
            // 压缩文件名称 采用时间戳+3位随机数
            String url = System.currentTimeMillis()+IdUtils.getRandom3(3);
            // 上传文件到服务器
             File file1 = new File(path + url + ".zip");
             FileUtils.writeByteArrayToFile(file1, file.getBytes());
            // 使用ZipFile解压
            ZipFile zipFile = new ZipFile(file1);
            // 给的vr是gbk,如果这里,你上传的zip包为utf-8,那么这里改为utf-8
            zipFile.setFileNameCharset("gbk");
            // zipFile.setFileNameCharset("utf-8");
            // 解压到指定目录,因为上传的压缩文件名称都是相同的,所以新增目录将存放解压后的文件
            zipFile.extractAll(path + url);
            return R.ok();
        } catch (ZipException e) {
            e.printStackTrace();
            return R.error("上传文件失败 ZipException:" + e.getMessage());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return R.error("上传文件失败 FileNotFoundException:" + e.getMessage());
        } catch (IOException e) {
            e.printStackTrace();
            return R.error("上传文件失败 IOException:" + e.getMessage());
        }
    }
 类似资料:
  • 我正在使用Spring4.0为RESTfulWeb服务创建POC。如果我们只传递字符串或任何其他基本数据类型,它就可以正常工作。 这个很好用。但如果我想将字节流或文件对象传递给函数,我如何编写具有这些参数的函数?我如何编写提供传递字节流的客户端? 我尝试了这个代码,但是得到了415个错误。 客户端代码-使用apache HttpClient

  • 在我的项目中,我在后端有Spring Boot,在前端有React.js。 我的后端工作正常,我知道,因为我已经用Postman测试过了。 在上传文件的前端,我有一个名为 ,它看起来像这样: 但问题是每次上传都失败。也许原因是路径,不确定。我试图路径。我得到的是C:\fakepath\Screenshot(187). png 现在我的问题是,如果是因为路径,我怎么才能正确地做它(据我所知,浏览器不

  • 本文向大家介绍SpringMVC图片文件跨服务器上传,包括了SpringMVC图片文件跨服务器上传的使用技巧和注意事项,需要的朋友参考一下 图片文件跨服务器上传(我使用的公司云桌面作为上传服务器,自己的笔记本作为存储服务器测试的) 一、上传服务器: 1、pom文件(使用jersey插件) 2、前端页面: 3、后台controller: 二、存储图片文件服务器: 1、Tomcat的conf目录下的w

  • 我正在尝试通过REST API在服务器上上传文件。我的api请求FormData模型,但Im得到错误。 devtools中得“我得请求”得有效负载 ------WebKitFormBoundaryVpirgXMC3RU3AOFA内容-配置:表单-数据;name=“文件”;filename=“test.jpg”content-type:image/jpeg -----WebKitFormBounda

  • 本文向大家介绍如何在windows桌面使用ftp上传文件到linux服务器,包括了如何在windows桌面使用ftp上传文件到linux服务器的使用技巧和注意事项,需要的朋友参考一下 首先在linux服务器上安装ftp 然后就可以测试了~~ 匿名新建文件,重命名和删除都可以了 如果出现550的报错,代表的是服务端的权限设置有问题,553的话就是配置文件有问题 附录:/etc/vsftpd/vsft

  • 是否可以使用server1将文件上传到server2? 访客请访问:我的网站。com(server1) 然后他将一个文件上传到server1,server1会自动将该文件上传到server2?? 或者简单地说,用户可以使用server1作为代理将文件上传到server2,因为server2只能从server1访问 会有帮助吗,还是有其他更好的解决方案?