我想在运行时在服务器上创建一个目录,之后我想将我的图像保存在该文件夹中 . 所以我的代码与本地主机完美配合,但当我在服务器上传我的网站时,目录没有创建,图像没有上传?
这是我的代码背后
if (menu_photoUp.HasFile)
{
menuNameImage = Path.GetFileName(menu_photoUp.PostedFile.FileName);
string sDirPath = Server.MapPath("photo_menu/" + Session["resName"].ToString().Replace(" ", "_") + "");
DirectoryInfo ObjSearchDir = new DirectoryInfo(sDirPath);
if (!ObjSearchDir.Exists)
{
ObjSearchDir.Create();
}
menu_photoUp.SaveAs(Server.MapPath("photo_menu/" + Session["resName"].ToString().Replace(" ", "_") + "/" + menuNameImage));
}
任何帮助将受到高度赞赏 .
3 回答
您是否有权在您的网站所在的目录中创建文件夹和写入文件?在本地,您很可能是管理员,它可以正常工作 . 一旦到达服务器,就必须担心文件系统权限 .
编辑:
由于您在godaddy上,请参阅以下链接以获取有关设置文件权限的说明:
http://support.godaddy.com/help/article/8404/setting-directory-permissions-with-windows-hosting-accounts
我在更新我的个人网站时遇到了同样的问题 . 我添加了一个Wordpress图标,它在我的本地主机上运行,但在我上传到服务器之后没有 . 这实际上只是我的一个小错误 - 我忘了在通过FTP文件夹更新更改时将新图像添加到“img”文件夹 . 这可能只是一个小小的疏忽 . 希望这有助于一些人在那里!
这个问题已被问了很长时间,但这可能会对某人有所帮助 .
如前面的答案中所述,您需要更改文件夹权限 . 在较新的Plesk控制面板中,为了更改文件夹设置:
单击文件夹旁边的箭头按钮 .
单击'Change Permissions' .
单击名为“应用程序池组(您的GoDaddy用户名*)”的条目
然后,您可以看到它的权限,并选中此组的写入权限框 .