保存路径、虚拟目录和静态位置
本文关键字:静态 位置 路径 虚拟 保存 | 更新日期: 2023-09-27 18:21:33
我上传了一个文件,该文件正在上传到web应用程序根目录中的文件夹,即我有
string savePath = @"~/documentation/"
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath(savePath) + filename);
这很好,将文件上传到WebApp/documentation/filename.abc
问题是,我想更改文档的位置,这样在从开发推向生产时就不必移动那个文件夹了。所以我做了以下
在Web.Config:中
<appSettings>
<add key="DocumentationLocation" value="C:'Documentation'" />
</appSettings>
代码中:
string savePath = ConfigurationSettings.AppSettings["DocumentationLocation"];
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath(savePath) + filename);
我认为这同样有效,将文件保存到web.config中指定的文件夹中。
然而,当我现在尝试上传文件时,我遇到了一个错误,上面写着:
"C:''TM_Documentation''"不是有效的虚拟路径。
你知道我做错了什么吗?这样我就可以修复它并将文件保存在web应用程序目录之外吗?谢谢
删除Server.MapPath()
,您不需要服务器为您映射路径,因为您已经给出了完整的路径。
如果路径为"C:''Documentation''",则不需要Server.MapPath
。只有当配置具有相对路径(如"~/Documentation/")时,才需要Server.MapPath
试试这个
FileUploadControl.SaveAs(savePath + filename);