Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将文件保存到服务器上的文件夹,而不是本地文件夹_C#_Asp.net Mvc 4_File Upload - Fatal编程技术网

C#将文件保存到服务器上的文件夹,而不是本地文件夹

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服务器。这可能吗 现在,文件保存到我的本地路径,路径存储在数据库中,然后我

该项目是一个基于MVC4C的web应用程序

我目前正在本地工作,希望能够以调试模式将文件上载到本地运行的应用程序,并将文件保存到web服务器而不是本地文件夹

目前我们正在使用:

if (!System.IO.File.Exists(Server.MapPath(PicturePath)))
{
     file.SaveAs(Server.MapPath(PicturePath));
}
如何利用此代码直接保存到Web服务器。这可能吗


现在,文件保存到我的本地路径,路径存储在数据库中,然后我们必须手动将文件上载到Web服务器。

SaveAs函数采用文件名,并将文件保存到您给定的任何路径,前提是满足以下条件:

  • 您的本地计算机可以访问文件路径
  • 您的本地帐户具有写入文件路径的正确权限
我建议您在运行代码时可以检查web.config设置。然后,您可以决定是使用
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 );
}