C#将文件保存到服务器上的文件夹,而不是本地文件夹
该项目是一个基于MVC4C的web应用程序 我目前正在本地工作,希望能够以调试模式将文件上载到本地运行的应用程序,并将文件保存到web服务器而不是本地文件夹 目前我们正在使用:C#将文件保存到服务器上的文件夹,而不是本地文件夹,c#,asp.net-mvc-4,file-upload,C#,Asp.net Mvc 4,File Upload,该项目是一个基于MVC4C的web应用程序 我目前正在本地工作,希望能够以调试模式将文件上载到本地运行的应用程序,并将文件保存到web服务器而不是本地文件夹 目前我们正在使用: if (!System.IO.File.Exists(Server.MapPath(PicturePath))) { file.SaveAs(Server.MapPath(PicturePath)); } 如何利用此代码直接保存到Web服务器。这可能吗 现在,文件保存到我的本地路径,路径存储在数据库中,然后我
if (!System.IO.File.Exists(Server.MapPath(PicturePath)))
{
file.SaveAs(Server.MapPath(PicturePath));
}
如何利用此代码直接保存到Web服务器。这可能吗
现在,文件保存到我的本地路径,路径存储在数据库中,然后我们必须手动将文件上载到Web服务器。SaveAs函数采用文件名,并将文件保存到您给定的任何路径,前提是满足以下条件:
- 您的本地计算机可以访问文件路径
- 您的本地帐户具有写入文件路径的正确权限
Server.MapPath
还是使用绝对路径
例如,在“调试”模式(本地运行)下,您可能具有以下设置:
<appSettings>
<add key="RunningLocal" value="true" />
<add key="ServerFilePath" value="\\\\MyServer\\SomePath\\" />
</appSettings>
为什么不将应用程序部署到web服务器上?请澄清,您希望在本地运行应用程序,但将映像保存到web服务器上?为什么不将图像保存到Web服务器上的共享文件夹中?因为我正在本地环境中调试,并在部署应用程序之前解决了所有错误。因此,如果我使用从本地到Web服务器的直接文件路径,只要我在本地的帐户已写入,我就可以将其直接保存到该位置访问那个目录?@RobCarroll:正确。请记住,如果您使用IIS在本地运行,则IIS中使用的用户帐户需要访问权限谢谢您的帮助,这正是我要找的。什么GetFromConfig()对我不起作用我应该包括命名空间或其他内容吗else@Fadi:
GetFromConfig()
只是一个虚构的函数,用于指示您应该从配置文件(或任何您想要存储它们的地方)获取路径
<appSettings>
<add key="RunningLocal" value="false" />
<add key="ServerFilePath" value="NOT USED" />
</appSettings>
bool runningLocal = GetFromConfig();
bool serverFilePath = GetFromConfig();
string filePath;
if(runningLocal)
filePath = serverFilePath;
else
filePath = Server.MapPath(PicturePath);
if (!System.IO.File.Exists(filePath ))
{
file.SaveAs(filePath );
}