C# 获取图像文件夹的路径
我正在尝试使用C# 获取图像文件夹的路径,c#,asp.net,.net,file-upload,exception-handling,C#,Asp.net,.net,File Upload,Exception Handling,我正在尝试使用asp:FileUpload将图片上载到文件夹(位于我的项目文件夹中) 当我单击按钮时出现此错误: SaveAs方法配置为需要根路径,而路径“localhost:49256/bilder”不是根路径 下面是我的代码: protected void ladda_Click(object sender, EventArgs e) { string filename = filuppladdare.FileName; string description = desc.T
asp:FileUpload
将图片上载到文件夹(位于我的项目文件夹中)
当我单击按钮时出现此错误:
SaveAs方法配置为需要根路径,而路径“localhost:49256/bilder”不是根路径
下面是我的代码:
protected void ladda_Click(object sender, EventArgs e)
{
string filename = filuppladdare.FileName;
string description = desc.Text;
if (filuppladdare.HasFile)
{
filuppladdare.PostedFile.SaveAs(\localhost:21212\pictures");
}
}
我只是猜到了路。应该是什么?或者如何获取它?使用
MapPath
方法获取文件夹的物理路径:
filuppladdare.PostedFile.SaveAs(Server.MapPath("~/pictures"));
路径中的
~
表示应用程序根。要使用的路径指的是服务器上(或其他可访问的FS路径)的,而不是网站的url
如果要从url获取物理路径,应使用Server.MapPath(您的url)
尝试以下操作
filuppladdare.PostedFile.SaveAs("~/Project name/.../pictures");
获取当前路径有多种方法,演示了如何使用HttpContext中的各种属性来查找路径: 在您的示例中,您可以使用以下内容:
filuppladdare.PostedFile.SaveAs("~\pictures");
~
告诉它从应用程序的根目录开始
您也可以使用一个选项是使用服务器映射路径,第二个选项是检查文件夹权限,这可能有助于另一个可能的副本的可能副本:Server.MapPath documentation:似乎可以工作,但现在我获得了“对路径的访问权”“我的磁盘上的更正路径…\visual studio 2010\Project\labb6\labb6\bilder”被拒绝。”相反,当尝试上载时。因此,这条路似乎是正确的right@guffa请参见上文:)(我是否必须写入@your username以便您查看我的问题?@tobbe:是的,您需要为运行代码的用户帐户授予文件夹的写入权限。当您在没有@的情况下评论我的答案时,我会收到通知,但这是一个论坛,不是聊天,因此您可能需要一段时间才能得到答案。:)哦,呵呵,对不起。我不知道它是怎么工作的。但现在我知道了,谢谢!似乎有效,但现在我在尝试上载时获得了“访问路径‘我的磁盘上的正确路径…\visual studio 2010\Projects\labb6\labb6\bilder’被拒绝”的权限。知道如何修复吗?请检查文件夹安全属性,并检查网站是否运行在可以正确访问FS的应用程序池中,以及运行IIS进程的用户是否也具有访问权限。。。请看这里: