如何使用Server.MapPath将文件上传到映射到我的计算机上的服务器上



到目前为止,我知道如何使用以下代码将文件上传到解决方案中的文件夹。

string root = HttpContext.Current.Server.MapPath("~/upload");

如何将文件保存到解决方案中以外的其他位置,即映射到我的PC的服务器位置。

string root = HttpContext.Current.Server.MapPath("/Z:/UploadFolder"); I have tried this but its not saving to the server so where I am going wrong?

当您具有相对路径并希望使用该路径到项目时,应使用MapPath。 对于另一条路径,您不需要MapPath. 就这样使用它:

string root ="Z:\UploadFolder";

可以将 IIS 中的虚拟目录映射到要保存到的位置。 例如,将 UploadFolder 的虚拟目录映射到 z:\uploadfolder。 然后,这将起作用:

string root = HttpContext.Current.Server.MapPath("~/upload");

请确保正确设置权限。

你的逻辑似乎令人困惑。使用 Server.MapPath - 返回与指定虚拟路径对应的物理文件路径。

但是您在第二个语句中将物理位置传递给 Server.MapPath,这不符合 Server.MapPath 的全部目的。

string root = HttpContext.Current.Server.MapPath("/Z:/UploadFolder"); **INCORRECT**

理想情况下,您需要创建一个映射到"/Z:/UploadFolder"的虚拟目录,并将其命名为"upload"。

string root = HttpContext.Current.Server.MapPath("~/upload");

注意:您需要传递显式凭据才能从 ASP.NET 访问网络共享。建议的方法是使用标识模拟,完成后使用相同的逻辑重试。

<configuration>
<system.web>
<identity impersonate="true" />
</system.web>
</configuration>

相关内容

  • 没有找到相关文章

最新更新