Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#/ASP.NET web应用程序中返回完整的文件路径?_C#_Asp.net_Visual Studio 2008 Sp1 - Fatal编程技术网

如何在C#/ASP.NET web应用程序中返回完整的文件路径?

如何在C#/ASP.NET web应用程序中返回完整的文件路径?,c#,asp.net,visual-studio-2008-sp1,C#,Asp.net,Visual Studio 2008 Sp1,这应该很简单,但我已经尝试了许多在互联网上发布的解决方案,所以我想我应该在这里尝试一下。我有一个VS 2008 web应用程序,需要从所选文件中捕获完整的文件路径(目录和文件名)。所以用户选择一个文件,然后点击其中一个按钮,将控制权转移到我的代码中进行处理。那么如何获取文件路径呢?我可以得到文件名,但不能得到路径。谢谢 尝试使用。这在Web应用程序中使用要好得多 string fullpath = Request.PhysicalApplicationPath; HTH您正在使用Asp.Net

这应该很简单,但我已经尝试了许多在互联网上发布的解决方案,所以我想我应该在这里尝试一下。我有一个VS 2008 web应用程序,需要从所选文件中捕获完整的文件路径(目录和文件名)。所以用户选择一个文件,然后点击其中一个按钮,将控制权转移到我的代码中进行处理。那么如何获取文件路径呢?我可以得到文件名,但不能得到路径。谢谢

尝试使用。这在Web应用程序中使用要好得多

string fullpath = Request.PhysicalApplicationPath;

HTH

您正在使用Asp.NetThanks Raja的文件上载控件,但这对我不起作用。我试图获取的文件路径很简单:C:\input\u file\u contacttype.mdf,但您的命令返回:“C:\\Documents and Settings\\Admin\\My Documents\\visualstudio 2008\\Projects\\AddFileToSQL\\AddFileToSQL\\input\u file\u contacttype.mdf”“C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Project\\AddFileToSQL\\AddFileToSQL\\input\u file\u contacttype.mdf“您无法访问虚拟目录之外的文件,因为这将是一个安全异常。否则,您必须为该特定文件夹的ASPNet帐户提供显式访问权限。因此,与其从C访问文件,不如从虚拟目录访问文件。这将有助于您部署站点。Raja,感谢您提供的有用提示。现在再问一个问题。我把它移到上面的虚拟目录,现在我可以在我的监视窗口中看到这个完整的路径。但是,我尝试的所有字符串在此上下文中都不存在。如何修复这些问题以将完整路径存储到字符串变量中?这就是我目前拥有的:string fullpath=Request.PhysicalApplicationPath;字符串fullpath2=System.Web.HttpRuntime.AppDomainAppVirtualPath;字符串fullpath3=Server.MapPath(uploadFile.PostedFile.FileName);您正在尝试上载文件吗?您正在尝试获取文件的本地路径吗?如果这样,则无法在服务器端执行此操作。由于安全原因,它会切断路径。查看此链接:谢谢你的文章!是的,我正在尝试进行文件上传,因此如果我想启用Mozilla,我可能必须尝试其他解决方案。David,这没有实现我想要的。它返回:Request.PhysicalApplicationPath“C:\\Documents and Settings\\Admin\\My Documents\\Visual Studio 2008\\Projects\\AddFileToSQL\\AddFileToSQL\\”字符串,那么如何只返回C:\directory?请参阅Raja关于安全异常的评论。当您在VS中调试应用程序时,它将按照您提到的路径运行。如果您需要访问c:\中的文件,您需要在代码或web中指定它。configDavid,您能阅读我给Raja的回复吗?你知道怎么解决这个问题吗?你能试试吗?System.IO.Path.Combine(Server.MapPath(),“subdirectory\filename.ext”);替换适用的子目录和文件名。