【问题标题】:ERROR: The SaveAs method is configured to require a rooted path, and the path '~/Documents/Upload/Abc.mdb' is not rooted错误:SaveAs 方法配置为需要根路径,并且路径“~/Documents/Upload/Abc.mdb”没有根路径
【发布时间】:2018-02-03 07:39:32
【问题描述】:

我正在尝试在我的数据库中上传一个 mdb 文件,所以我的代码是

if (fileUploadEspace.HasFile)
                {
                    try
                    {
                        string savePath = string.Empty;
                        savePath = ConfigurationManager.AppSettings["UploadDBFilePath"];
                        Server.ScriptTimeout = 100000000;


                        fileUploadEspace.SaveAs(savePath + fileUploadEspace.FileName);

在 web.config 文件中,我将路径保留为

 <add key="UploadDBFilePath" value="~/Documents/Upload/" />

但是当我点击上传按钮时,它给了我上面的错误信息。我搜索了同样的错误,但仍然是无法解决的错误。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    SaveAs 需要一个物理路径来写入文件,你必须使用Server.MapPath 来生成它。

    通过组合文件名和路径创建路径,使用Path.Combine,然后调用Server.MapPath获取物理路径,然后SaveAs可以将文件写入该目录。

    fileUploadEspace.SaveAs(Server.MapPath(Path.Combine(savePath,fileUploadEspace.FileName)));
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2010-11-15
      • 2010-11-23
      • 2011-12-13
      • 1970-01-01
      • 2014-09-26
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多