首页 新闻 搜索 专区 学院

Server.MapPath获取路径 SaveAs(imageUrl)保存图片

0
悬赏园豆:10 [已解决问题] 解决于 2010-08-04 17:47

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);在本机测试也没问题

到服务器上提示错误一样

 

有人遇到过这种情况吗,麻烦解释下,谢谢了!

问题补充: 权限设置了,提示错误还是一样,获得的路径不带"\"
微微笑的主页 微微笑 | 初学一级 | 园豆:170
提问于:2010-08-04 15:18
< >
分享
最佳答案
0

你是否使用版本控制工具管理源代码的,这个是由没有访问权限引起的,你要给网站对应的文件夹配置相应的权限。如下图:点添加--> 高级-->查找;选择ASPNET 这个用户,确定,再设置好权限。就没问题了。

 

 

 

 

Server.MapPath("~\\Upload\\flash" + pic); 这句话引起的, 我做了下测试。改成这样就行:"Upload\\flash" + pic ;直接这样赋值就可以,发布也可以看到。

 

你是下这样做行不行;

收获园豆:5
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-04 15:28
Server.MapPath("~\\Upload\\flash" + pic); 这句话引起的, 我做了下测试。改成这样就行:"Upload\\flash" + pic ;直接这样赋值就可以,发布也可以看到。
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-04 17:26
谢谢,还是权限问题,代码都没问题!谢谢大家的帮忙!
微微笑 | 园豆:170 (初学一级) | 2010-08-04 17:47
非常高兴 能对你有所帮助。
HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-06 10:25
其他回答(4)
0

 建议你先获取程序根目录地址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);

jowo | 园豆:2834 (老鸟四级) | 2010-08-04 15:46
谢谢您的建议!
支持(0) 反对(0) 微微笑 | 园豆:170 (初学一级) | 2010-08-04 17:47
0

权限问题~看一楼的~~

SeaSunK | 园豆:187 (初学一级) | 2010-08-04 15:53
谢谢!
支持(0) 反对(0) 微微笑 | 园豆:170 (初学一级) | 2010-08-04 17:47
0

把权限加上“everyone”,再试试,如果行,说明是权限的问题,然后再删除everyone,添加相应的用户权限。

收获园豆:2
Astar | 园豆:40805 (高人七级) | 2010-08-04 16:03
谢谢!
支持(0) 反对(0) 微微笑 | 园豆:170 (初学一级) | 2010-08-04 17:47
0

一、路径问题引起,应在服务器上设置为网站而不是虚拟目录,然后所有相对路径都用"/"表示网站根目录,而不是"~/"

二权限问题引起,应该给network service账号任意权限即可。

收获园豆:3
邀月 | 园豆:25375 (高人七级) | 2010-08-04 16:35
谢谢!
支持(0) 反对(0) 微微笑 | 园豆:170 (初学一级) | 2010-08-04 17:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册