nginx 安装到Java代码上传图片利用ftp过程遇到的问题总结

6 篇文章 0 订阅
4 篇文章 0 订阅

      第一次接触服务器的自己就是一个小白鼠,自然会遇到很多问题:

     一、ftp连接不上

        1.按照 https://blog.csdn.net/weixin_37525569/article/details/80839067 这篇博客写的步骤安装ftp,可以直接连接上。

      二、上传的图片不在想要的路径里面

     我的上传图片路径是:/home/ftpuser/www/images/但是发现上传的图片老在ftpuser下面。

        1.这个时候我发现我的文件夹没有权限

          

          下面普及一下linux下的文件夹权限问题:

      1.d 表示文件夹,rwx表示权限  你看一共三组 第一组是root权限表示最高权限对这个文件夹的操作权限 第二组是普通用户             第三组是其他三,ftpuser是普通用户。

      2. 所以权限对应的是第二组的rwx ,结果全是---,表示什么权限也没有。

      3. -表示少了什么:  -wx,表示少了r权限,就是read 读的权限。r-x,少了w,表示少了write 写权限。

      4. 所以要为我创建的文件夹赋予权限:

            命令行:chmod 777 /home/ftpuser只是把 /home/ftpuser目录的权限设置为rwxrwxrwx

             chmod -R 777 /home/ftpuser表示将整个/home/ftpuser目录与其中的文件和子目录的权限都设置为rwxrwxrwx

            -rw——- (600) 只有所有者才有读和写的权限
            -rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
            -rwx—— (700) 只有所有者才有读,写,执行的权限
            -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
            -rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
            -rw-rw-rw- (666) 每个人都有读写的权限

            -rwxrwxrwx (777) 每个人都有读写和执行的权限

              这个时候就可以把图片放到正常的路径下面了。

三、上传的图片为0M。

         这个问题困扰了我很长时间:

        1.首先在看SELINUX=disabled,不是 修改/etc/selinux/config

        2.在Java程序上加入两行代码

ftpClient.enterLocalPassiveMode();//主动模式
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//二进制文件

   这两行代码怎么 的位置必须放在设置图片上传位置的下面,下面是个小demo

 

@Test
public void testFtpClient(){
    //创建Ftp对象
    FTPClient ftpClient=new FTPClient();
    //创建ftp连接
    try {
        ftpClient.connect("116.19X.XXX.XXX", 21);
        //登录ftp连接,用用户名和密码
        ftpClient.login("ftpuser", "ftpuser");
        //上传文件
        //从本地读取文件
        FileInputStream fileInputStream = new FileInputStream(new File("D:\\1.jpg"));
        //设置上传到服务器的位置
        ftpClient.changeWorkingDirectory("/home/ftpuser/www/images/");
        ftpClient.enterLocalPassiveMode();
        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
        //1.服务器端文件名2.上传文件的inputStream
        ftpClient.storeFile("lss.jpg", fileInputStream);
        fileInputStream.close();
        //关闭连接
        ftpClient.logout();
    }catch (Exception e){
        e.printStackTrace();
    }
}

  (1)因为为port连接所以必须设置为主动模式。

  (2)设置文件类型为二进制文件

四,图片上传上去无法访问

 1.首先在nginx下的nginx.config下面看配置文件是否有配置的路径,按照绿色的配置

2.在html文件夹下加一个images文件夹


这个时候重新启动nginx就可以访问了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值