首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Server.MapPath保存文件

使用Server.MapPath保存文件
EN

Stack Overflow用户
提问于 2013-06-03 09:18:17
回答 2查看 12.5K关注 0票数 3

目前,我正在将文件保存到代码中硬编码的目录中:

代码语言:javascript
复制
var filePath = Path.Combine(@"C:\users\my documents\github\project\source\project\App_Data\stored\", package.Id + ".zip");

但是我需要用Server.MapPath保存我的文件..。比如:

代码语言:javascript
复制
FileInfo userFile = new FileInfo(Path.Combine(Server.MapPath("~/App_Data/stored"), package.Id));

完整的功能:

代码语言:javascript
复制
 public void CompressAndDeleteSources(FlinkeMailPackage package)
 {
    var filePath = Path.Combine(@"C:\users\my documents\github\project\source\project\App_Data\stored\", package.Id + ".zip");

    using (ZipFile zipFile = new ZipFile(filePath))
    {
      foreach (var file in package.FlinkeMailFileList)
      {               
        string bestandsNaam = @"C:\users\my documents\github\project\source\project\App_Data\uploads\" + file.OriginalName;
        zipFile.AddFile(bestandsNaam);
      }
       zipFile.Save();
    }

    foreach (var file in package.FlinkeMailFileList)
     {
         var filePathToDelete = @"C:\users\my documents\github\project\source\project\App_Data\uploads\" + file.FileName;
         File.Delete(filePathToDelete);
     }       
   }

但是当我尝试使用Server.MapPath("~/App_Data/stored")时,它不知道服务器是什么

编辑

我可以像:HttpContext.Current.Server.MapPath("~/App_Data/stored");那样使用它,但是我不能使用package.Id + ".zip",例如:var savePath = HttpContext.Current.Server.MapPath("~/App_Data/stored"),package.Id + ".zip"));

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-03 09:25:51

您可以通过当前上下文HttpContext.Current.Server.MapPath("~/App_Data/stored");访问它。

要获得完整的文件路径:

代码语言:javascript
复制
var filePath = Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data/stored"), package.Id + ".zip");
票数 4
EN

Stack Overflow用户

发布于 2014-05-21 11:29:21

代码语言:javascript
复制
            string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
            if (fileName != "")
            {

                FileUpload1.SaveAs(Server.MapPath("../../Files/" + fileName));
                aComplain.FileName = fileName;
                aComplain.FilePath = "../../Files/" + fileName;

                string message = aComplainManager.SaveComplain(aComplain);
                messageResult.Text = message;
                messageResult.ForeColor = Color.Green;
                Clear();
            }

            else if (fileName == "")
            {
                string message = aComplainManager.SaveComplain(aComplain);
                messageResult.Text = message;
                messageResult.ForeColor = Color.Green;
                Clear();
            }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16893487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档