图片上传路径(Linux服务器)
String savePath = "homeshow/";
//1.检查目录
File uploadDir = new File(savePath);
if(!uploadDir.isDirectory()){
out.println(getError(uploadDir.toString()));
}
//2.检查目录写权限
if(!uploadDir.canWrite()){
out.println(getError("上传目录没有写权限。"));
return;
}
String dirName = request.getParameter("dir");
if (dirName == null) {
dirName = "csnp";
}
if(!extMap.containsKey(dirName)){
out.println(getError("目录名不正确。"));
return;
}
//创建文件夹
savePath += dirName + "/";
如上所示,如果linux服务器的文件上传路径为/homeshow/csnp,但是实际上传图片时,在第1,2步就报错误了,请问该如何实现上述功能?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果网站程序和web服务器的拥有者不是同一个用户,那么需要先给上传目录预先分配可写属性。
一般大一点的公司都是程序员把需要上传文件的目录清单提前给运维,再由运维给文件夹赋权限,要不然的话程序这边再折腾都没用。
目录不存在,则创建。一般来说,程序创建的目录,该用户和组都有管理的权限。只要第一步创建成功,后面很少会遇到写入权限问题。而第二步多数出现于非程序创建的目录上,例如我是用root帐号创建的话,如果没有设置权限,那么程序进行上传文件会没写入的权限。建议楼主去了解一些linucx的权限分配教程。