linux上传文件时要注意的几点

很多朋友在做文件上传的时候可能会遇到在window上可以成功上传但部署到linux上后却无法上传原因可能是以下几点

1)、文件上传一般是在服务器上指定一个目录来存放文件,由于开发一般都是在window上进行所以有可能忽略掉window与linux文件系统的差别。(最好设置成路径使用配置文件来配置)

2)、 在linux上部署使用的用户被限制了创建目录的权限(对于直接用程序来创建目录的文件上传)。

3)、上传文件的编码格式问题。(一般是针对文件名)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Java 中上传文件Linux 软连接,需要注意以下几点: 1. 需要确保软连接指向的目标文件或目录存在且有足够的权限。 2. 如果软连接指向的是目录,需要确保上传的文件名不会与目录中已有的文件名冲突。 3. 上传文件时需要使用软连接的绝对路径。 下面是一个简单的 Java 上传文件Linux 软连接的示例代码: ``` import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class UploadFileToSymlink { public static void main(String[] args) { String symlinkPath = "/path/to/symlink"; String targetPath = "/path/to/target"; String filename = "example.txt"; String filepath = "/path/to/upload/" + filename; try { // 创建 Socket 连接 Socket socket = new Socket("linux-server", 22); // 获取输入输出流 InputStream inputStream = new FileInputStream(new File(filepath)); OutputStream outputStream = socket.getOutputStream(); // 上传文件到软连接 outputStream.write(("scp -t " + symlinkPath + "\n").getBytes()); if (checkAck(inputStream) != 0) { System.exit(1); } long fileSize = new File(filepath).length(); String command = "C0644 " + fileSize + " " + filename + "\n"; outputStream.write(command.getBytes()); if (checkAck(inputStream) != 0) { System.exit(1); } byte[] buffer = new byte[1024]; int count; while ((count = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, count); } inputStream.close(); inputStream = null; // 关闭连接 outputStream.flush(); outputStream.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } private static int checkAck(InputStream inputStream) throws IOException { int b = inputStream.read(); if (b == 0) { return b; } if (b == -1) { return b; } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append((char) b); while (inputStream.available() > 0) { b = inputStream.read(); if (b == 0 || b == -1) { break; } stringBuilder.append((char) b); } if (stringBuilder.toString().startsWith("Error")) { System.out.println(stringBuilder.toString()); } return b; } } ``` 在上面的代码中,我们使用 SCP 命令将文件上传到软连接。通过检查 SCP 命令的返回值,可以判断文件上传是否成功。如果上传成功,可以在软连接指向的目录中看到上传的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值