linux和windows下上传文件,linux出现文件大小为0打不开的情况

这几天在公司上班的时候要解决之前老员工给我丢下的一个问题,就是我通过本地上传文件时上传正常,然后打包成jar包部署到服务器上时,测试发现 文件是传过来了,但是传过来的文件大小是0,并且根本打不开。//后续发现 其实windows路径可以兼容linux路径,所以统一用linux系统路径就行

最后各种查资料,我发现网上这类问题解决的方式很少,后经询问

得出来的原因

linux与windows文件上传时,要判断他们的操作系统是linux 还是windows要不然可能会出现上传失败,或者上传的文件大小为0 打不开的 情况,而且linux的路径格式与windows的不一样。

具体思路

linux的路径:/data;  (直接/data就行,后续可以改路径)
windows的路径: c:/home/....(根据自己情况设置)

具体实现(后续我是加了这块代码)

 具体代码

 try {
//            保存文件相关名
            String original1 = file.getOriginalFilename();

            //分割后缀名判断类型
            String flex = "." + original1.split("\\.")[original1.split("\\.").length - 1];
//            String typeName = "普通附件";
            //在文件 名中加入时间戳
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
            String time = sdf.format(new Date());
            String newFileName = RandomUtil.randomString(20) + time;
//            String pathstr="C:\\home\\data-platform\\file";
            String pathstr=null;

            //判断系统是windows 还是linux
            String os = System.getProperty("os.name");
            if (os != null && os.toLowerCase().startsWith("windows")) {
                System.out.println(String.format("当前系统版本是:%s", os));
                pathstr= "C:/home/data-platform/file";
            } else if (os != null && os.toLowerCase().startsWith("linux")) {//Linux操作系统
                System.out.println(String.format("当前系统版本是:%s", os));
                pathstr="/data";
            } else { //其它操作系统
                System.out.println(String.format("当前系统版本是:%s", os));

            }
            File dest = new File(pathstr +"/"+ newFileName +flex);
            FileUtil.touch(dest);
            file.transferTo(dest);





希望有用。

将大型文件从Windows上传到Linux操作系统可以选择多种方法。 一种方法是使用SCP(Secure Copy Protocol,安全拷贝协议)。首先,确保Linux服务器已经安装了SSH(Secure Shell,安全外壳协议)和SCP。然后,在Windows上下载并安装一个SCP客户端,比如WinSCP。打开WinSCP并输入Linux服务器的IP地址、用户名和密码,然后连接到服务器。在WinSCP的界面中,可以看到本地文件系统和Linux服务器文件系统之间的对应关系。选择本地大型文件并将其拖拽到Linux服务器的相应目录中即可进行上传。 另一种方法是使用Samba共享。首先,确保Linux服务器已经安装并正确配置了Samba服务。然后,在Windows上找到要上传的大型文件,并右键点击该文件,选择“发送到”-“共享文件夹”。在弹出的对话框中,输入Samba服务器的IP地址和共享文件夹的名称,然后点击“完成”。Windows将通过网络将大型文件上传到Linux服务器的共享文件夹中。 此外,还可以使用FTP(File Transfer Protocol,文件传输协议)或者使用云服务如Dropbox、Google Drive进行文件上传。无论使用哪种方法,都需要确保网络连接稳定,并且确保Linux服务器有足够的存储空间来存储大型文件。 需要注意的是,上传大型文件可能需要一定的时间,具体速度取决于网络带宽和文件大小。为了提高上传速度,可以考虑使用更快速的网络连接或者对文件进行压缩处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值