记录一次linux下微服务文件上传失败

记录一次linux下微服务文件上传失败,第1张

生产环境文件上传服务发现经常报错:

Failed to parse multipart servlet requestnested exception is java.lang.RunTimeException

提示上传文件的临时路径找不到.

在linux系统中,springboot应用服务在启动(java -jar 命令启动服务)的时候,会在 *** 作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。

由于临时/tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉。

在项目配置文件中自定义临时文件路径

@Bean

MultipartConfigElement multipartConfigElement() {

        MultipartConfigFactory factory = new MultipartConfigFactory()

        File tmpDirFile = new File(tempDir)

        // 判断文件夹是否存在

        if (!tmpDirFile.exists()) {

            //创建文件夹

            tmpDirFile.mkdirs()

        }

        factory.setLocation(tempDir)

        return factory.createMultipartConfig()

    }

本文是 Linux下初识selinux 中提到的docker_123用户不能 *** 作root用户的文件夹。

上传失败,这个报错open for write  : permission denied。

将/home/docker_123文件夹的权限不足,docker_123怎么会有root用户的权限呢?修改下该文件夹所属的用户名即可。

chown  用户名  文件名

chown docker_123  docker_123

试一下,终于可以上传文件了。

总结: 本文看到低权限用户docker_123可以查看root权限用户的文件或文件夹但是不能对其进行增加和删除 *** 作。

1.检查php.ini文件中是否设置了允许上传图片的大小,如果设置的大小小于图片的大小,则无法上传。

2.检查网站根目录下的文件夹是否有写入权限,如果没有写入权限,则无法上传图片。

3.检查网站的防火墙设置,如果防火墙拒绝了上传图片的请求,则无法上传图片。

4.检查网站的安全设置,如果设置了不允许上传图片,则无法上传图片。

5.检查网站的服务器环境,如果服务器不支持图片上传,则无法上传图片。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8661006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存