服务器上的ASP Web API创建目录拒绝访问

时间:2014-07-27 09:34:13

标签: c# asp.net asp.net-mvc asp.net-web-api server.mappath

我试图在服务器上创建一个目录,用于将文件保存为链接,当我创建一个目录时,它会拒绝访问文件路径。

我就是这样做的

public static string CreateFile(string FilePath)
{
        string Path = "";
        string RootPath = System.Web.HttpContext.Current.Server.MapPath("");
        //RootPath = RootPath.Substring(0, RootPath.Length - cropsize);
        System.IO.DirectoryInfo DirInfo = new System.IO.DirectoryInfo(RootPath + FilePath);
        System.Security.AccessControl.DirectorySecurity DirPermission = new System.Security.AccessControl.DirectorySecurity();
        System.Security.AccessControl.FileSystemAccessRule FRule = new System.Security.AccessControl.FileSystemAccessRule
            ("Everyone", System.Security.AccessControl.FileSystemRights.ReadAndExecute, System.Security.AccessControl.AccessControlType.Allow);
        DirPermission.AddAccessRule(FRule);

        if (DirInfo.Exists == false)
        {
            System.IO.Directory.CreateDirectory(RootPath + FilePath);
        }

        Path = RootPath + FilePath;

        return Path;
    }

它是一个Web API,而不是一个网站。

我从手机上传文件,我管理了阅读部分。

Server.MapPath("")正在返回D:\\home...\\api

它位于外部服务器上

我尝试在本地运行该服务的代码并且它有效,但是在外部服务器上它给出了上面的错误。

另外,还有另一种方法可以将文件保存为链接吗?

关于问题:

我从移动设备上传文件并从服务中读取文件为byte [],我不想将字节直接保存到数据库中,我只想要的是文件。

0 个答案:

没有答案