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.检查网站的服务器环境,如果服务器不支持图片上传,则无法上传图片。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)