将文件从本地复制到远程服务器

时间:2012-07-10 06:06:00

标签: asp.net html copy

我在我的本地系统上动态创建html文件(使用HTMLTEXTWRITER,然后使用streamwriter将它们保存到本地文件系统)。我想通过用户交互将此文件复制到我的远程服务器,以便我的用户可以读取文件。我用C#

例如我想从d:\ myfile.html复制到mysite.com \ myfile.html,我该怎么办?

5 个答案:

答案 0 :(得分:2)

我已经使用了它并且它起作用了。可能有用

用于保存本地

的路径
rPath = "\\" & Request.UserHostAddress & "\c$\temp\"

表示输出文件

rOutput = Session.SessionID & "_" & Format(Date.Now(), "ddMMyyhhmmss") & ".pdf"

现在:将在localhost \ c \ temp

创建报告

答案 1 :(得分:1)

您无法使用System.IO类(除非您可以将远程服务器作为网络驱动器访问),但您可以使用{以编程方式将文件从客户端通过HTTP发送到远程服务器{ {1}}。

以下是使用System.Net类的代码段:

WebRequest

HTTP的更多信息:http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

或者,您可以使用专门用于传输FTP(或更安全的东西)等文件的协议,这在代码中并不难。

FTP选项:http://msdn.microsoft.com/en-us/library/ms229718

答案 2 :(得分:1)

您可以设置FTP服务器并通过FTP以编程方式复制文件。 可以找到一个示例herehere

答案 3 :(得分:1)

有三种方法可以将文件复制到远程服务器。

  1. 使用普通文件复制模式。在这里,您需要访问Web服务器共享路径。如果Web服务器与您的应用程序位于同一网络中,则您可以共享Webroot并为运行该应用程序的用户提供写入权限。然后他可以使用File.Copy("source.txt", "\\Servername\SharedFolderName\target.txt")

  2. 第二种方法是使用FTP将文件复制到远程服务器。 This MSDN example可以帮助您完成此操作。这适用于大多数共享托管服务提供商。

  3. 您可以使用Tim所述的HTTP POST。但这会让任何用户执行帖子。您可能需要处理用户配置,身份验证和授权。 IMO,将此作为配置用户的最后选项并提供某些路径的权限,可能会变得很麻烦。

答案 4 :(得分:1)

您是基于Windows的远程服务器,与工作机器在同一工作组或域中吗?如果是这样,您可以打开服务器上的Windows文件共享。然后,您可以使用cmd复制文件,如下所示:

复制c:\ test.txt \\ mysite.com

C#中的File.Copy也使用路径“\\ mysite.com”。

否则,您需要在服务器上设置FTP环境并使用C#中的FTP相关API。