解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload

这篇具有很好参考价值的文章主要介绍了解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章长了点,着急解决问题的朋友可以直接看最后(三)。

这两天线上的项目的下载文件这一块出问题了,本地调试了一下,发现文件能正常下载,说明不是代码的问题。

一、查看报错日志

看了一下服务器对应的报错日志,报如下错:

java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload

原因:

网上搜索了一下,报这个异常是因为新挂载的硬盘目录没有写入权限,之前服务器的硬盘不够用了,这个硬盘路径是后面挂载上去的。

二、给文件权限

到服务器上的“/opt/jeecg-boot/”目录使用命令:ll ,查看一下“upload”目录的权限:

drwxr-xr-x 9 root root 176128 Jul 20 17:42 upload

1、文件信息解释

以【空格】划分,共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称

(1)、权限

第一列,第一位表示文件类型,我这里的第一位是【d】

【d】:文件夹
【-】:普通文件
【l】:链接
【b】:块设备文件
【p】:管道文件
【c】:字符设备文件
【s】:套接口文件
【rwx 】:第 2-4 位表示这个文件的属主拥有的权限,这里的所有者是第三列的信息,也就是root。r 是读、w 是写、x 是执行 。
【r-x】:第 5-7 位表示和这个文件属主所在同一个组的用户所具有的权限 ,这里同一个组是第四列的信息,也是root。
【r-x 】:第 8-10 位表示其他用户所具有的权限。

(2)、硬链接数

第二列

对文件:一般是1,表示它本身。只有通过 “cd 文件的绝对路径” 这条指令来定位该文件。
对目录:起码是2,对于新建的文件夹,可以通过“cd 目录的绝对路径”或在目录中通过“cd …”进入目录。

关于硬链接详细的可以看这位大哥的博客,点击跳转。

(3)、文件所有者

第三列,这里是root。

(4)、文件所有组

第四列,也是root。

(5)、文件大小

第五列,这里是176128。

(6)、文件最后一次被修改日期

第六列,这里是Jul 20 17:42。

(7)、文件名称

第七列,也是最后一列,这里是upload。

关于文件信息的介绍可以看这一篇博客,点击跳转。

2、给目标文件夹权限

命令:

chmod 777 /opt/jeecg-boot/

解释:

读 r:4
写 w:2
执行 x:1
所以数字7:7=4+2+1=r+w+x,就是具有读、写、执行权限;6=4+2=r+w就是具有读、写权限,以此类推。下次修改权限改变对应的数字就可以了。
这里777是让所有者、同组其他用户、不同组用户都具有读、写、执行权限。

给了文件夹权限之后,还要重启服务器,不然命令是不生效的,我是直接用这个命令重启服务器,命令如下:

reboot

重启之后再次查看目标目录

drwxrwxrwx 9 root root 176128 Jul 20 17:42 upload

可以看到文件夹权限改过来了,重启之后那个错应该也可以解决了。

三、读写在文件子目录进行,给了父文件目录权限依旧报错

如果读写操作发生在目标目录的子目录,那么使用上面那个命令依旧会报那个错,说明子目录没有对应的权限,打开“upload”目录查看子目录信息:

drwxr-xr-x 6 root root 176128 Jul 16 11:23 img

可以看到子目录依旧只有写和执行的权限,这时需要用这个命令:

chmod 777 -R /opt/jeecg-boot/

解释:

-R 表示包含设置所有子目录,整个命令就是给“/opt/jeecg-boot/”目录以及子目录读写权限。

重启服务器,再次查看“img”目录

drwxrwxrwx 6 root root 176128 Jul 16 11:23 img

这下问题应该就解决了。文章来源地址https://www.toymoban.com/news/detail-448197.html

到了这里,关于解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决启动Elasticsearch报错——java.nio.file.NoSuchFileException \lib\dt.jar

    在启动Elasticsearch时遇到了这个报错: java.nio.file.NoSuchFileException libdt.jar 已解决: Elasticsearch正常启动: 解决办法: 搜索发现是由于本地的jdk版本升级之后,当时只改了JAVA_HOME所指的jdk安装目录,并没有考虑到由jdk8升级到jdk11之后, jdk11需要有不同的配置。 这里是jdk11的环境

    2024年04月25日
    浏览(37)
  • Java分别用BIO、NIO实现简单的客户端服务器通信

    前言: Java I/O模型发展以及Netty网络模型的设计思想 Java BIO是Java平台上的BIO(Blocking I/O)模型,是Java中用于实现同步阻塞网络编程的一种方式。 在Java中,使用BIO模型需要通过Socket和ServerSocket类来完成网络连接和数据传输,但是由于BIO是同步阻塞的,所以会导致线程阻塞和资

    2024年02月09日
    浏览(31)
  • websocket链接断开服务器报错java.io.EOFException解决办法

    首先说一下报错原因,由于默认60s无消息交互就会关闭长连接,所以导致这个报错 解决方案其实也很简单,既然是长时间没有通信导致断开,其实保持通信就好,可以设置心跳时间来解决。 可以前端也可以后端,附上前端代码吧 //心跳检测 var heartCheck = {     timeout: 60000,//

    2024年02月08日
    浏览(46)
  • Elasticsearch——》解决启动报错fatal exception while booting Elasticsearchjava.nio.file.InvalidPathException

    推荐链接:     总结——》【Java】     总结——》【Mysql】     总结——》【Redis】     总结——》【Kafka】     总结——》【Spring】     总结——》【SpringBoot】     总结——》【MyBatis、MyBatis-Plus】     总结——》【Elasticsearch】 环境变量 classpath 最后面 空

    2024年02月11日
    浏览(30)
  • 已解决java.nio.file.DirectoryNotEmptyException异常的正确解决方法,亲测有效!!!

    已解决java.nio.file.DirectoryNotEmptyException异常的正确解决方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 总结  博主v:XiaoMing_Java 在进行文件操作时,特别是需要删除目录或文件的情况下,可能会遭遇 java.nio.file.DirectoryNotEmptyException 异常。这个问题常见于使用

    2024年03月21日
    浏览(78)
  • Java.nio.file.NoSuchFileException] - 文件未找到异常处理及解决方法

    Java.nio.file.NoSuchFileException] - 文件未找到异常处理及解决方法 在日常的Java开发中,我们经常会遇到各种异常情况。其中之一就是[Java.nio.file.NoSuchFileException],即文件未找到异常。这个异常表示在进行文件操作时,无法找到指定的文件。本文将深入探讨这个异常的原因和解决方

    2024年02月08日
    浏览(31)
  • 生产环境,文件上传出现java.lang. RuntimeException: java.nio.file. NoSuchFileException解决方法

    在SpringBoot项目中,配置spring.http.multipart.location可以指定上传文件的临时路径。 但是,SpringBoot版本不同,关于这一块的配置也不相同。 1、Spring Boot 1.3 版本: multipart.location=/data/tmp 2、Spring Boot 1.4 版本和 1.5 版本: spring.http.multipart.location=/data/tmp 3、Spring Boot 2.0 版本: spring.s

    2024年02月10日
    浏览(39)
  • nginx服务器报错502 Bad Gateway的原因以及解决办法

    服务器报错nginx 502 Bad Gateway的原因以及解决办法_502 bad gateway nginx_主题模板站的博客-CSDN博客

    2024年02月13日
    浏览(40)
  • 服务器报错nginx 502 Bad Gateway的原因以及解决办法

    网站页面出现502badgateway怎么办?今天我们来分析一下原因和解决办法。 nginx出现502多数是属于后端的问题,后期就是PHP的问题,在php服务当中,有两个参数非常的重要:max_requestst 和max_children;具体的原因必须要查看日志才可以弄明白! 1:FastCGI进程是否已经启动 ps aux|grep

    2023年04月20日
    浏览(52)
  • 【解决】wsl安装虚拟机平台报错“无法解析服务器的名称或地址”

    利用wsl安装拟机平台报错“无法解析服务器的名称或地址” 修改DNS即可 控制面板-网络和Internet,选择 查看网络状态和任务 选择 更改适配器设置 选择所连接的网络,选择 属性 ,再选择 Internet协议版本4(TCP/IPv4) 选择 属性 ,按以下配置即可 保存配置,再次运行安装命令即

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包