如何远程从服务器上复制文件

问题描述

我要复制的文件在某服务器上,现在要求编程(C/S方式)从该服务器上将文件复制到本地。之前用过的方法是File.Copy(sourceDirName,destDirFileName);但是该方法必须将服务器上要复制的文件夹设置共享的读写权限。出于安全性考虑,决定取消服务器文件夹共享方式来实现文件复制下载。请大家帮帮忙!!

解决方案

解决方案二:
1、如果远程文件是FTP服务器上的,那么很简单,不用说了吧?FtpRequest2、如果远程文件所在的地方是Web服务器,可以直接HttpRequest获得3、如果远程文件只是一台联网机器上的文件,那么可以:1)在远程机器上做个WebService,给出一个返回指定文件的函数,在本地调用即可获得。2)使用TcpChannel,实现远程对象调用,相当于RPC或DCOM,远程对象可以使用函数、属性等返回需要的文件。3)自己用socket搞TCP连接,自己定义协议传递;
解决方案三:
引用1楼bigmingming的回复:

1、如果远程文件是FTP服务器上的,那么很简单,不用说了吧?FtpRequest2、如果远程文件所在的地方是Web服务器,可以直接HttpRequest获得3、如果远程文件只是一台联网机器上的文件,那么可以: 1)在远程机器上做个WebService,给出一个返回指定文件的函数,在本地调用即可获得。 2)使用TcpChannel,实现远程对象调用,相当于RPC或DCOM,远程对象可以使用函数、属性等返回需要的文件。 3)自己用socket搞TCP连接,自己定义协议传递;

精辟
解决方案四:
请写详细一点好吗?最好能展示相关代码
解决方案五:
引用3楼hehelyf的回复:

请写详细一点好吗?最好能展示相关代码

加到200分,或是加到200元,或是自己baidu
解决方案六:
LZ是怎样解决的,能告诉我吗?
解决方案七:
该回复于2012-02-08 09:04:35被版主删除
解决方案八:
常规来说可以通过现有协议完成文件上传,如借助FTP或HTTPnamespaceAppGet{publicclassPushCommand:CommandBase{protectedoverridevoidExecute(){stringuri=string.Format("http://{0}/App/Push/{1}",ConfigurationManager.AppSettings["AppCenter"],Args["-file"]);Console.WriteLine(uri);HttpWebRequestrequest=HttpWebRequest.Create(uri)asHttpWebRequest;request.Method="POST";using(Streamstream=request.GetRequestStream()){varbuffer=newbyte[4096];using(FileStreamfs=newFileStream(Args["-file"],FileMode.Open)){while(true){intr=fs.Read(buffer,0,4096);if(r<=0){break;}stream.Write(buffer,0,r);}}}request.GetResponse();}privateconststringDefaultContentType="application/octet";}}

但也可以通过socket根据自定义协议进行上传文件,方法很多,看你需要什么样的了
解决方案九:
其实在这里你问就需要问个思路。如果还伸手要代码的话那就完全没有意义了
解决方案十:
也是也无所谓,msdn,stackoverflow全是代码来代码去,有的就贴贴呗,互相理解而已

时间: 2016-07-21

如何远程从服务器上复制文件的相关文章

window系统cmd环境下从远程FTP服务器上下载文件

  我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢? 看看下面的方法,也许对你有帮助: @echo off rem 指定FTP用户名 set ftpUser=FTPUSERYGL rem 指定FTP密码 set ftpPass=FTPUSER rem 指定FTP服务器地址 set ftpIP=10.16.12.101 rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=/MBX-YGL-IN/UE0620/MBX-

使用scp获取远程linux服务器上的文件 linux远程拷贝文件_linux shell

一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的. 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

linux下使用scp服务器之间复制文件和目录命令

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来.另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了.虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用. 1.命

备份-linux采集远程windows服务器上的数据

问题描述 linux采集远程windows服务器上的数据 问题:公司有上百台windows服务器,我需要在每天将这些服务器上的某些文件备份到一台linux服务器中,如何做最方便?每天的总数据量不超过10g 解决方案 如果文件特别多的话可能时间比较长,如果是大文件的话网速快就行了 解决方案二: window 配置FTP->linux设置计划任务->每天拉

从ftp服务器上下载文件

ftp服务器|下载 <?php/** * 函数名 php_ftp_download * 功能   从ftp服务器上下载文件 * 入口参数 * filename 欲下载的文件名,含路径 */function php_ftp_download($filename) {  $phpftp_host = "ftplocalhost";    // 服务器地址  $phpftp_port = 21;            // 服务器端口  $phpftp_user = "nam

ASP跨服务器上传文件完美解决

服务器|解决|上传 如果你有两个空间,一个大而慢,另外一个小而快,或者其中一个不支持FSO,那么跨服务器上传文件这个问题就摆在你面前了,下面就是我在解决ylog.net里面的跨服务器上传文件的日记,这个问题看似简单,里面的细节问题却是非常有趣 前提条件,空间都必须支持ASP,上传文件的服务器支持FSO,下面的叙述中,diygame.com为存上传文件的服务器,ylog.net为网站服务器,即显示用户界面的服务器... 实现功能,文件上传,上传后在网页的文本区域自动加上对于图片的UBB码,为了清楚

jsp删除服务器上的文件

js|服务器 一个小问题 jsp删除服务器上的文件 调试了很长的时间 结果发现试绝对路径的问题 现在 搞定了 ' <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><%@ page import="java.io.*"%><%St

利用ASP.NET向服务器上传文件

asp.net|服务器|上传 文件上传技术是一个很实用的技术,有着很广泛的应用,在ASP.NET自身的前一个版本ASP里实现这个功能,就必须使用第三方的组件或者自己开发组件了,现在,用ASP.NET实现起来就简单得多了,我们不需要使用任何组件就可以实现上传的功能了.    为了方便讲解,我们可以把文件上传分成两种类型:单一文件上传和多文件上传.        单一文件上传    我们先来介绍单一文件上传的方法,单一文件上传就比较简单了,     下面是实现单一文件上传的完整代码:<%@ Impo

php-通过网页下载的压缩文件,显示压缩文件格式未知或数据损坏,但服务器上的文件是好的,是网页的问题吗?

问题描述 通过网页下载的压缩文件,显示压缩文件格式未知或数据损坏,但服务器上的文件是好的,是网页的问题吗? 通过网页下载的压缩文件,显示压缩文件格式未知或数据损坏,但服务器上的文件是好的,是网页的问题吗? 没有考虑网页访问量的问题,是不是这个原因呢?要怎么解决? 可是同一台电脑.有时候下载正常,有时候就出现如题问题,反复下载都不行.所以怀疑是不是网页代码有问题.PS:网页下载文件那部分代码和我的工作有关 解决方案 不是,是你电脑没有处理压缩文件的程序 解决方案二: 可能是下载过程丢包了,你可以查