2012-02-06 131 views
1

我需要将我的asp.net(C#)页面上的文件上传到远程服务器。将文件上传到远程服务器

我设法从本地主机使用此代码文件上传到远程服务器:

 string serverPath = "\\\\xx.xxx.xx.xx\\Folder\\" + FileUpload1.FileName; 
     FileUpload1.PostedFile.SaveAs(serverPath); 

但是在我公布这个代码到我的网络服务器,它停止与错误“的网络路径未找到工作。 “

我看了一些建议使用UNC网络共享和实现模拟的解决方案。 我无法弄清楚如何应用这些解决方案。

有人可以举个例子,或者建议一个更简单的解决方案。

谢谢!

回答

2

在FileUpload1.PostedFile.SaveAs(路径)中,path是文件的物理路径,No Url。您必须检查:

  • 是物理文件夹Exsist?
  • 您可以访问文件夹吗?

如果这两个问题的答案是真实支票验证码:

string serverPath = @"\\xxx.xxx.xxx.xxx\Folder\"; 
if (!System.IO.Directory.Exists(serverPath)) 
    System.IO.Directory.CreateDirectory(serverPath); 

FileUpload1.PostedFile.SaveAs(serverPath + FileUpload1.FileName); 
0

你在你的web服务器上传需要一个虚拟目录。在代码中,您必须使用Server.Mappath(“虚拟路径”)函数获取其服务器路径,然后保存到它。

1

您的应用程序在其下运行的帐户必须具有对您试图将文件上传到的文件夹的写入权限:\\xx.xxx.xx.xx\Folder\。因此,您必须在IIS中配置应用程序池才能在具有足够权限的帐户下运行。转至IIS管理控制台中的应用程序池属性,您可以在其中指定要用于运行应用程序的帐户。默认情况下,它使用内置帐户,该帐户将不会访问共享资源。看看following article,它解释了如何做到这一点。

相关问题