0

我已经通过stackoverflow上的其他条目,但没有一步一步的方法来解决这个问题?有那么复杂吗?

我想解压缩到我本地驱动器上的一个文件夹,也得到这个错误。我必须在我的 webconfig 中做些什么吗?

我应该对我的整个 C 盘有写权限吗?那不会很好吗?

谢谢

public ActionResult Upload(ScormUploadViewModel model)
{
  if (ModelState.IsValid)
  {
    if (model.ScormPackageFile != null)
    {
        //string destinationDirectoryName = "c:\\TSFPreview\\Zinc\\Web\\Project\\ScormPackages";
        string zipCurFile = model.ScormPackageFile.FileName;
        //string origZipFileName = zipCurFile.Remove(zipCurFile.Length - model.ScormPackageFile.FileName);
        string destinationDirectoryName = Path.GetFileNameWithoutExtension(zipCurFile);
        //Directory.CreateDirectory(destinationDirectoryName);
        Directory.CreateDirectory("C:\\Testing");
        StreamReader streamReader = new StreamReader("C:\\Testing"); //here get that error
        streamReader.Read();
        using (GZipStream Decompress = new GZipStream(model.ScormPackageFile.InputStream, CompressionMode.Decompress))
        {
          //Decompress.CopyTo("C:\\Testing");
        }
    }
  }
  return View(model);
}
4

1 回答 1

0

太长的评论,因此发布一个答案 -

打开您的 IIS,按照这篇文章中的说明进行操作。这告诉您如何检查应用程序池标识。

默认情况下,asp.net 应用程序在具有最低权限的帐户下运行,并且被拒绝写入 c:\ 位置的权限。

更改应用程序池标识以使用具有创建目录等操作所需的权限的本地帐户。(您可以通过将您的登录名放入应用程序池标识来测试这一点,但不建议将其用于已部署的代码)。

于 2013-02-28T13:58:59.833 回答