当我在Linux上面上传图片的时候,最后准备使用动静分离,发现一直失败,原来是权限的问题,权限不够,那么该怎么解决了?我不可能上传一次去手动修改一次权限,但是又不能直接一次性修改好,最后就只好采用如下方法
public static String fileUpload(HttpServletRequest request,MultipartFile file) throws IOException {
String src = null;
String path = "/home/1/2/3/4/upload";
File sourceFloader = new File(path);
if (!sourceFloader.exists()) {
sourceFloader.mkdir();
}
if (!file.isEmpty()) {
// 得到输入流
InputStream inputStream = file.getInputStream();
// 获取文件名
String filename = file.getOriginalFilename();
FileUtils.copyInputStreamToFile(inputStream, new File(path, filename));
Runtime.getRuntime().exec("chmod 644 " + path + "/"+ filename);
src = "static/upload/" + filename;
}
return src;
}
注意这一步:Runtime.getRuntime().exec("chmod 644 " + path + "/"+ filename);
这样我们上传好之后的图片权限就是644了,当然你也改成755等