string imageUrl = "";
if (typeId.ToString() == "1")
{
imageUrl = Server.MapPath("~/Upload/flash" + pic);
}
else if (typeId.ToString() == "101")
{
imageUrl = Server.MapPath("~/Upload/FriLink" + pic);
}
ImageUpload.SaveAs(imageUrl);
获取路径保存图片
在本机测试没问题,发布到服务器上提示错误
对路径:D:webmingtongDebugUpload♀lash(+文件名)的访问被拒绝。
应该D:\web\mingtong\Debug\Upload\flash\(文件名)路径是正确的
如果用 imageUrl = Server.MapPath("~\\Upload\\flash" + pic);在本机测试也没问题
到服务器上提示错误一样
有人遇到过这种情况吗,麻烦解释下,谢谢了!
你是否使用版本控制工具管理源代码的,这个是由没有访问权限引起的,你要给网站对应的文件夹配置相应的权限。如下图:点添加--> 高级-->查找;选择ASPNET 这个用户,确定,再设置好权限。就没问题了。
Server.MapPath("~\\Upload\\flash" + pic); 这句话引起的, 我做了下测试。改成这样就行:"Upload\\flash" + pic ;直接这样赋值就可以,发布也可以看到。
你是下这样做行不行;
建议你先获取程序根目录地址rootPath
static public string ApplicationPath
{
get
{
string applicationPath = "/";
// Are we in an application?
//
if (applicationPath == "/")
{
applicationPath = System.AppDomain.CurrentDomain.BaseDirectory;
}
return FileUtility.GetDirectory(applicationPath).ToLower();
}
}
string dirPath = @"Upload\flash\";
ImageUpload.SaveAs(rootPath +dirPath +pic);
权限问题~看一楼的~~
把权限加上“everyone”,再试试,如果行,说明是权限的问题,然后再删除everyone,添加相应的用户权限。
一、路径问题引起,应在服务器上设置为网站而不是虚拟目录,然后所有相对路径都用"/"表示网站根目录,而不是"~/"
二权限问题引起,应该给network service账号任意权限即可。