我在我的本地系统上动态创建html文件(使用HTMLTEXTWRITER,然后使用streamwriter将它们保存到本地文件系统)。我想通过用户交互将此文件复制到我的远程服务器,以便我的用户可以读取文件。我用C#
例如我想从d:\ myfile.html复制到mysite.com \ myfile.html,我该怎么办?
答案 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(或更安全的东西)等文件的协议,这在代码中并不难。
答案 2 :(得分:1)
答案 3 :(得分:1)
有三种方法可以将文件复制到远程服务器。
使用普通文件复制模式。在这里,您需要访问Web服务器共享路径。如果Web服务器与您的应用程序位于同一网络中,则您可以共享Webroot并为运行该应用程序的用户提供写入权限。然后他可以使用File.Copy("source.txt", "\\Servername\SharedFolderName\target.txt")
。
第二种方法是使用FTP将文件复制到远程服务器。 This MSDN example可以帮助您完成此操作。这适用于大多数共享托管服务提供商。
您可以使用Tim所述的HTTP POST。但这会让任何用户执行帖子。您可能需要处理用户配置,身份验证和授权。 IMO,将此作为配置用户的最后选项并提供某些路径的权限,可能会变得很麻烦。
答案 4 :(得分:1)
您是基于Windows的远程服务器,与工作机器在同一工作组或域中吗?如果是这样,您可以打开服务器上的Windows文件共享。然后,您可以使用cmd复制文件,如下所示:
复制c:\ test.txt \\ mysite.com
C#中的File.Copy也使用路径“\\ mysite.com”。
否则,您需要在服务器上设置FTP环境并使用C#中的FTP相关API。