问个应该不难的问题:文件能不能上传到另一台服务器上??

问题描述

请高手指点一个问题:最近公司在写套系统,需要上传文件,因为文件比较大,而且多个分公司都要使用,所以想代码放在一台共用的服务器上(比较方便修改更新),而上传的文件,每个分公司一台服务器,上传的文件分别放在自己的服务器上。(通过登录账号可以判断出是那个分公司的人在用。)这样的效果能否实现?

解决方案

解决方案二:
既然多个分公司都要使用,那么为什么不把文件都放到同一个服务器上,每个分公司一个文件夹,而要分别放到多个服务器上?非要这么做也不是不可以,不过你要保证每个分公司的服务器互相都能访问,不能丢进内网里去
解决方案三:
文件服务器可以采用ftp,网站要使用文件的时候下载下来
解决方案四:
首先,这个系统是内网,还是外网,通过vpn连的也可以认为内网,然后每个公司的人会否去访问其它子公司的文件,最后每个子公司与主系统之间的物理通讯成本如何
解决方案五:
引用1楼Z65443344的回复:

既然多个分公司都要使用,那么为什么不把文件都放到同一个服务器上,每个分公司一个文件夹,而要分别放到多个服务器上?非要这么做也不是不可以,不过你要保证每个分公司的服务器互相都能访问,不能丢进内网里去

目前是这样做的,但分公司在很多地方,台湾也有分厂,上传速度只有几百K,有些大的文件几十M,上传甚至要几分钟,所以想上传到本公司的服务器,服务器后台会在晚上进行同步。全部的电脑、服务器,都是在集团的内网中,互相可以访问,就是分公司之间访问很慢。我在网上搜了一下,是有办法上传到另一台服务器,但看内容是先上传到本服务器,再另存到另一台服务器,不是直接上传到另一台服务器。如果真是这样,那上传还是会很慢。
解决方案六:
引用4楼zbdzjx的回复:

Quote: 引用1楼Z65443344的回复:
既然多个分公司都要使用,那么为什么不把文件都放到同一个服务器上,每个分公司一个文件夹,而要分别放到多个服务器上?非要这么做也不是不可以,不过你要保证每个分公司的服务器互相都能访问,不能丢进内网里去

目前是这样做的,但分公司在很多地方,台湾也有分厂,上传速度只有几百K,有些大的文件几十M,上传甚至要几分钟,所以想上传到本公司的服务器,服务器后台会在晚上进行同步。全部的电脑、服务器,都是在集团的内网中,互相可以访问,就是分公司之间访问很慢。我在网上搜了一下,是有办法上传到另一台服务器,但看内容是先上传到本服务器,再另存到另一台服务器,不是直接上传到另一台服务器。如果真是这样,那上传还是会很慢。

既然你想做定期同步,那就先统一上传到本地服务器,到半夜没人的时候慢慢同步去呗获取文件也默认从本地服务器获取,没有的,要么等明天就有了,要么就得直接访问别的分公司的服务器,那样必然会很慢
解决方案七:
引用3楼starfd的回复:

首先,这个系统是内网,还是外网,通过vpn连的也可以认为内网,然后每个公司的人会否去访问其它子公司的文件,最后每个子公司与主系统之间的物理通讯成本如何

这个系统是内网,分公司之间是用VPN连的。互相都可以访问。只是分公司之间访问太慢了,打开一个大的文件要几十秒甚至几分钟。前年有一个主管从华南分厂调过来,只是拷他华南分厂电脑上的几个G的文件,就用了将近一晚上的时间,下班时开始拷,第二天早上上班看到拷完了。所以想法是先上传到本公司的服务器,晚上再对各个服务器进行同步。
解决方案八:
你在网上找的例子,完全可以简单的改改,就从上传到本地服务器后直接上传到别的服务器,改为上传到本地服务器就结束了,然后放个服务程序定时执行,将那些没有上传的文件统一慢慢上传
解决方案九:
引用5楼Z65443344的回复:

Quote: 引用4楼zbdzjx的回复:
Quote: 引用1楼Z65443344的回复:
既然多个分公司都要使用,那么为什么不把文件都放到同一个服务器上,每个分公司一个文件夹,而要分别放到多个服务器上?非要这么做也不是不可以,不过你要保证每个分公司的服务器互相都能访问,不能丢进内网里去

目前是这样做的,但分公司在很多地方,台湾也有分厂,上传速度只有几百K,有些大的文件几十M,上传甚至要几分钟,所以想上传到本公司的服务器,服务器后台会在晚上进行同步。全部的电脑、服务器,都是在集团的内网中,互相可以访问,就是分公司之间访问很慢。我在网上搜了一下,是有办法上传到另一台服务器,但看内容是先上传到本服务器,再另存到另一台服务器,不是直接上传到另一台服务器。如果真是这样,那上传还是会很慢。

既然你想做定期同步,那就先统一上传到本地服务器,到半夜没人的时候慢慢同步去呗获取文件也默认从本地服务器获取,没有的,要么等明天就有了,要么就得直接访问别的分公司的服务器,那样必然会很慢

因为代码是放在一台服务器上(如服务器A),本公司的服务器(如服务器B),打开系统是访问的服务器A,上传要将文件直接上传到服务器B上。是想问问看这种功能可否实现。网上看到的代码都是将文件先上传到服务器A,再另存到服务器B,这样上传还是会很慢。当天打开其他分公司的文件,是会慢,这还好了,第二天就会快了。但如果上传慢,当天建几张单子,可能要上传一二十个文件。建单、上传文件,说不定网络一有问题,上传失败,重新再来,搞不好要半天时间。如果是上传到本地服务器,顶多一两个小时就OK了。
解决方案十:
你举的例子不是很好,如果只是特殊情况的话,做个定向同步就行了,或者不做也没关系,你也说到了有好几g,如果所有公司都内部到主服务器再分发的话,你的硬盘成本会非常高,而且还会有同步失败的问题之类
解决方案十一:
OA文件同步工作,这种应用场景就是SVN的菜。有些程序原以为SVN只是用来对源代码进行版本管理的,这显然是错误的。企业中每一个用户都可以将本地文件夹与服务器上的文件夹同步,可以根据账号密码而设置读写权限。可以同步文件,可以查看文件“版本”。
解决方案十二:
引用7楼Z65443344的回复:

你在网上找的例子,完全可以简单的改改,就从上传到本地服务器后直接上传到别的服务器,改为上传到本地服务器就结束了,然后放个服务程序定时执行,将那些没有上传的文件统一慢慢上传

OK,谢谢,我试试看。我想问问看有没有更好的解决方法。我初步想法是每个服务器上建个IIS网站,上面放一个上传程序。上传文件时,判断所在的分公司,调用相应服务器上的上传文件,将文件上传到本公司的服务器上。代码服务器上接收一个返回的地址,用来调用文件使用。第二天同步后,要再想想看怎么判断这个文件的地址。
解决方案十三:
引用6楼zbdzjx的回复:

Quote: 引用3楼starfd的回复:
首先,这个系统是内网,还是外网,通过vpn连的也可以认为内网,然后每个公司的人会否去访问其它子公司的文件,最后每个子公司与主系统之间的物理通讯成本如何

这个系统是内网,分公司之间是用VPN连的。互相都可以访问。只是分公司之间访问太慢了,打开一个大的文件要几十秒甚至几分钟。前年有一个主管从华南分厂调过来,只是拷他华南分厂电脑上的几个G的文件,就用了将近一晚上的时间,下班时开始拷,第二天早上上班看到拷完了。所以想法是先上传到本公司的服务器,晚上再对各个服务器进行同步。

如果只是这个档次的活儿,我看还是算了。即使是找点事儿做去搞点OA功能,也不是这个思路。应该基于日常业务、频繁或者紧急的任务,而不是为了临时偶尔采用一下。
解决方案十四:
引用12楼sp1234的回复:

Quote: 引用6楼zbdzjx的回复:
Quote: 引用3楼starfd的回复:
首先,这个系统是内网,还是外网,通过vpn连的也可以认为内网,然后每个公司的人会否去访问其它子公司的文件,最后每个子公司与主系统之间的物理通讯成本如何

这个系统是内网,分公司之间是用VPN连的。互相都可以访问。只是分公司之间访问太慢了,打开一个大的文件要几十秒甚至几分钟。前年有一个主管从华南分厂调过来,只是拷他华南分厂电脑上的几个G的文件,就用了将近一晚上的时间,下班时开始拷,第二天早上上班看到拷完了。所以想法是先上传到本公司的服务器,晚上再对各个服务器进行同步。

如果只是这个档次的活儿,我看还是算了。即使是找点事儿做去搞点OA功能,也不是这个思路。应该基于日常业务、频繁或者紧急的任务,而不是为了临时偶尔采用一下。

那只是一个例子,说明网络比较慢。这个系统是集团老板的要求,是要将公司全部专案及其他一些重要的事情全部用这个系统管理,建单、转主管审核、其他部门相关人员查看,增加、修改内容,上传文件、再签核……老板要看到每个专案的进度。会有邮件、短信等等进行通知。现在上传文件放在一台服务器上,其他分公司上传慢,经常是点了上传,出去转一圈,泡杯咖啡,抽根烟,回来一看,上传好了。运气不好发现上传失败,重新再来。各分公司都在报怨这件事,所以要想办法解决。
解决方案十五:
资料的保密级别如何?
解决方案:
引用14楼ajianchina的回复:

资料的保密级别如何?

有些文件要求比较高,如报价单、图纸。当然,如果有简单但比较隐蔽的方法也可以。因为我们的共享盘上也会有这些机密文件出现的,但不能很明显、很容易的就让人找到如何打开、复制这些文件的方法。
解决方案:
给你干货http://download.csdn.net/detail/ajianchina/9104659我刚刚传上去,设了10下载分,你没有的话,给个邮箱直接发给你。文件内容:C#.NET大文件上传含断点续传源码及实例
解决方案:
装套sharepoint,里面的文档库就是你要的功能,还有各种角色权限控制
解决方案:
引用16楼ajianchina的回复:

给你干货http://download.csdn.net/detail/ajianchina/9104659我刚刚传上去,设了10下载分,你没有的话,给个邮箱直接发给你。文件内容:C#.NET大文件上传含断点续传源码及实例

谢谢!分够,我研究研究看。
解决方案:
引用楼主zbdzjx的回复:

请高手指点一个问题:最近公司在写套系统,需要上传文件,因为文件比较大,而且多个分公司都要使用,所以想代码放在一台共用的服务器上(比较方便修改更新),而上传的文件,每个分公司一台服务器,上传的文件分别放在自己的服务器上。(通过登录账号可以判断出是那个分公司的人在用。)这样的效果能否实现?

可以实现,不过需要借助于特殊的软件或者库。普通的方案都不太合适。比如上面朋友说的同步,或者OA,或者sharepoint等都把问题复杂化了。
解决方案:
引用楼主zbdzjx的回复:

请高手指点一个问题:最近公司在写套系统,需要上传文件,因为文件比较大,而且多个分公司都要使用,所以想代码放在一台共用的服务器上(比较方便修改更新),而上传的文件,每个分公司一台服务器,上传的文件分别放在自己的服务器上。(通过登录账号可以判断出是那个分公司的人在用。)这样的效果能否实现?

借这种需求做文件同步最好还是不要在服务端来做,最好是能设计出一条规则将文件存到分公司服务器。这样既可以避免统一存储给主服务器带来较大的压力,又可以方便分公司文件管理。
解决方案:
引用楼主zbdzjx的回复:

请高手指点一个问题:最近公司在写套系统,需要上传文件,因为文件比较大,而且多个分公司都要使用,所以想代码放在一台共用的服务器上(比较方便修改更新),而上传的文件,每个分公司一台服务器,上传的文件分别放在自己的服务器上。(通过登录账号可以判断出是那个分公司的人在用。)这样的效果能否实现?

网上有一个Web大文件上传控件:它可以上传文件夹(包含层级结构),上传超大文件,文件MD5验证,支持断点续传,支持WINDOWS平台下的主流浏览器:IE6(x86),IE7(x86),IE8(x86),IE9(x86,x64),IE10(x86,x64),IE11(x86,x64),Maxthon(遨游)1.x,Maxthon(遨游)2.x,TT浏览器,QQ浏览器,360安全浏览器,360极速浏览器,搜狗浏览器,Firefox,Chrome,Opera23。粘贴文件,简化选择文件操作:文件MD5值计算进度:文件MD5值计算完毕服务器根据MD5检测是否存在相同文件续传文件从服务器加载文件列表文件上传中文件上传完毕上传文件夹与Discuz!X2整合-后台安装断点续传控件与Discuz!X2整合-后台启用断点续传控件与Discuz!X2整合-后台断点续传控件启用成功与Discuz!X2整合-前台发帖页面与Discuz!X2整合-上传文件夹上传,本地文件夹层级结构服务器上的文件夹层级结构页面调用示例代码:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>HttpUploader6演示页面</title><linktype="text/css"href="css/HttpUploader.css"rel="Stylesheet"/><scripttype="text/javascript"src="js/jquery-1.3.2.min.js"></script><scripttype="text/javascript"src="js/HttpUploader.js"charset="utf-8"></script><scriptlanguage="javascript"type="text/javascript">varcbMgr=newHttpUploaderMgr();$(document).ready(function(){cbMgr.LoadTo("FilePanel");cbMgr.SetupCheck();//安装检查//取MAC地址//varmac=cbMgr.Browser.GetMacs();//alert(mac[0]);//上传指定目录下的所有文件//cbMgr.Browser.GetFiles("F:\ftp\",false);});</script></head><body><divid="msg"></div><divid="FilePanel"></div></body></html>

资源下载:
解决方案:
引用21楼caehonao的回复:

Xproer.HttpUploader6:它可以上传文件夹(包含层级结构),上传超大文件,文件MD5验证,支持断点续传,支持WINDOWS平台下的主流浏览器:IE6(x86),IE7(x86),IE8(x86),IE9(x86,x64),IE10(x86,x64),IE11(x86,x64),Maxthon(遨游)1.x,Maxthon(遨游)2.x,TT浏览器,QQ浏览器,360安全浏览器,360极速浏览器,搜狗浏览器,Firefox,Chrome,Opera23。页面调用示例代码:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>HttpUploader6演示页面</title><linktype="text/css"href="css/HttpUploader.css"rel="Stylesheet"/><scripttype="text/javascript"src="js/jquery-1.3.2.min.js"></script><scripttype="text/javascript"src="js/HttpUploader.js"charset="utf-8"></script><scriptlanguage="javascript"type="text/javascript">varcbMgr=newHttpUploaderMgr();$(document).ready(function(){cbMgr.LoadTo("FilePanel");cbMgr.SetupCheck();//安装检查//取MAC地址//varmac=cbMgr.Browser.GetMacs();//alert(mac[0]);//上传指定目录下的所有文件//cbMgr.Browser.GetFiles("F:\ftp\",false);});</script></head><body><divid="msg"></div><divid="FilePanel"></div></body></html>

资源下载:

这个貌似不错,可以实现楼主说的将文件存储在不同的分公司服务器中。这种解决方案也最方便。不需要服务器来做太多的工作,直接由客户端控件来处理。看了一下,好像控件可以直接将文件POST到不同的服务器。这样的话服务器的逻辑就简单很多了。基本把最麻烦的工作交给控件来帮忙做了。构架模式如下:一台WEB服务器+N台文件服务器。web负责逻辑处理,告诉控件文件存到哪台分公司服务器上。相当于将文件服务器地址返回给控件就行了。
解决方案:
引用22楼cwhatiscs的回复:

Quote: 引用21楼caehonao的回复:
Xproer.HttpUploader6:它可以上传文件夹(包含层级结构),上传超大文件,文件MD5验证,支持断点续传,支持WINDOWS平台下的主流浏览器:IE6(x86),IE7(x86),IE8(x86),IE9(x86,x64),IE10(x86,x64),IE11(x86,x64),Maxthon(遨游)1.x,Maxthon(遨游)2.x,TT浏览器,QQ浏览器,360安全浏览器,360极速浏览器,搜狗浏览器,Firefox,Chrome,Opera23。页面调用示例代码:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>HttpUploader6演示页面</title><linktype="text/css"href="css/HttpUploader.css"rel="Stylesheet"/><scripttype="text/javascript"src="js/jquery-1.3.2.min.js"></script><scripttype="text/javascript"src="js/HttpUploader.js"charset="utf-8"></script><scriptlanguage="javascript"type="text/javascript">varcbMgr=newHttpUploaderMgr();$(document).ready(function(){cbMgr.LoadTo("FilePanel");cbMgr.SetupCheck();//安装检查//取MAC地址//varmac=cbMgr.Browser.GetMacs();//alert(mac[0]);//上传指定目录下的所有文件//cbMgr.Browser.GetFiles("F:\ftp\",false);});</script></head><body><divid="msg"></div><divid="FilePanel"></div></body></html>

资源下载:

这个貌似不错,可以实现楼主说的将文件存储在不同的分公司服务器中。这种解决方案也最方便。不需要服务器来做太多的工作,直接由客户端控件来处理。看了一下,好像控件可以直接将文件POST到不同的服务器。这样的话服务器的逻辑就简单很多了。基本把最麻烦的工作交给控件来帮忙做了。构架模式如下:一台WEB服务器+N台文件服务器。web负责逻辑处理,告诉控件文件存到哪台分公司服务器上。相当于将文件服务器地址返回给控件就行了。

我也建议将分布式存储任务放在客户端来做。由服务器同步的话实际上开销还是挻大的,特别是这种网络环境比较复杂的情况下。另外还有一个好处就是分公司的员工直接将文件传到分公司的服务器上,理论上来讲速度也快一些,至少比传到总公司服务器,然后再由总公司服务器同步到分公司服务器快。相当于一个CDN加速效果。
解决方案:
谢谢楼主分享。来支持你了
解决方案:
没有仔细看lz的需求哈,就看到一个不同服务器跨域的上传。。可以考虑使用webclient其中有个方法UploadData(strUrl,"POST",byteArray);
解决方案:
路过
解决方案:
没有结局?最后咋解决的
解决方案:
引用4楼zbdzjx的回复:

Quote: 引用1楼Z65443344的回复:
既然多个分公司都要使用,那么为什么不把文件都放到同一个服务器上,每个分公司一个文件夹,而要分别放到多个服务器上?非要这么做也不是不可以,不过你要保证每个分公司的服务器互相都能访问,不能丢进内网里去

目前是这样做的,但分公司在很多地方,台湾也有分厂,上传速度只有几百K,有些大的文件几十M,上传甚至要几分钟,所以想上传到本公司的服务器,服务器后台会在晚上进行同步。全部的电脑、服务器,都是在集团的内网中,互相可以访问,就是分公司之间访问很慢。我在网上搜了一下,是有办法上传到另一台服务器,但看内容是先上传到本服务器,再另存到另一台服务器,不是直接上传到另一台服务器。如果真是这样,那上传还是会很慢。

楼上正解!这个问题我以前也碰到过!
解决方案:
表面上的问题是个伪问题,实际的要问如何在后台传送大文件,这主要因为ISP太坑了,宽带不宽信息化瓶颈严重.对这种情况最好是自己写代码实现大文件分块传输,可以实现断点续传.

时间: 2024-11-08 19:01:45

问个应该不难的问题:文件能不能上传到另一台服务器上??的相关文章

PHP文件上传实现上传到另一台服务器

ftp_connect() 函数建立一个新的 FTP 连接. 若成功,则返回一个连接标识,否则返回 false. 语法 host 必需.规定要连接的 FTP 服务器.可以是域名或 IP 地址. 后面不应以斜线结尾,前面也不需要用 ftp:// 开头.   port 可选.规定 FTP 服务器的端口. timeout 可选.规定该 FTP 服务器的超时时间.默认是 90 秒. 然后在台式机本地做了个测试:  代码如下 复制代码 $ftp_server = "192.168.1.100";

PHP文件上传判断file是否己选择上传文件的方法_php技巧

本文实例讲述了PHP文件上传判断file是否己选择上传文件的方法.分享给大家供大家参考.具体方法如下: 一个合格的程序员在实现数据入库中时我们都会有一些非常严密的过滤与数据规则,像我们文件上传时在前段要判断用户是否选择上传文件同时在后台也可判断是否有上传的文件,本文实例即对此做一较为深入的分析. 如下html代码所示: 复制代码 代码如下: <form action="?" method="post" enctype='multipart/form-data'

ajax-web文件上传问题如何利用xmlHttpRequest对象上传大文件(1G或以上)

问题描述 web文件上传问题如何利用xmlHttpRequest对象上传大文件(1G或以上) 如题,本人小白一名,在学习实现一个资源共享系统,涉及到很多1GB以上的文件,查阅了很多资料,发现可以用ajax实现,步骤如下:1.通过javascript获取文件对象2.利用slice将文件切割成小片3.利用xmlhttprequest的send方法将片发送给处理程序4.php处理程序将文件拼接于是动手模拟了一下,可是总是没有该有的效果,求大神指导,谢谢!文件上传端test.php代码如下: 处理端代码

asp.net mvc 上传后图片如何更新(上传到文件,不存放数据库),如下图,怎么维护更新,谢了哈

问题描述 asp.net mvc 上传后图片如何更新(上传到文件,不存放数据库),如下图,怎么维护更新,谢了哈 比如维护下面图片,最好来个实例源码呀 ,谢谢前辈,切记:图片是存在文件里,主要是维护不会写~~谢谢前辈了 ...么么哒 解决方案 你上传到服务器上,服务器数据库记录文件名和路径.然后就是文件名的增删改查了. 解决方案二: ASP.NET MVC上传文件ASP.NET MVC 上传文件asp.net MVC上传文件

【手机上传】jQuery传递数据同时上传文件到php后台接受不到的问题

问题描述 [手机上传]jQuery传递数据同时上传文件到php后台接受不到的问题 各位前辈们好,这个问题困扰我挺长时间了,这是我之前的提问,我在网上下载的一份不完整源码:前端有一个上传框,上传图片后会自动生成预览图,可是后台php页面用post方法或者file方法都收不到上传的文件,text文本数据可以收到.有大神告诉我说用form.js插件,小弟不才怎么弄也不会,所以求大神告知详细一点的操作,在哪里添加什么才好?代码如下: html代码 <!DOCTYPE html><html>

服务器-Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录

问题描述 Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录 Java FTP上传文件夹,只能上传到FTP根目录,如何上传到指定目录 如果文件较大,如何完整的上传到FTP的服务器 解决方案 用ftpClient.changeWorkingDirectory更改路径,路径不必以/开始

java-十万火急::Java判断服务器的文件是否存在如果不存在就上传、如果存在,在上传的时候删除文件

问题描述 十万火急::Java判断服务器的文件是否存在如果不存在就上传.如果存在,在上传的时候删除文件 我是新人没有悬赏.还希望大牛们 能帮帮我 Java判断服务器的文件是否存在如果不存在就上传.如果存在,在上传的时候删除文件完成文件上传. 解决方案 java判断文件夹是否存在并上传文件 解决方案二: 做个接口,出入文件名,判断是否存在,返回结果给你就行了

用HttpResponse传输文件到客户端,文件被占用没释放.本地测试没问题,服务器上就出错.

问题描述 从服务器数据库导出数据到本地的Excel文件:先用OleDb导出数据保存为服务器的Excel文件;再用HttpResponse把文件作为流传到客户端.用HttpResponse把文件作为流传到客户端的代码如下:System.IO.FileInfofileDownLoad=newSystem.IO.FileInfo(path);Response.Clear();Response.Charset="GB2312";Response.ContentEncoding=System.T

基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)

首先需要导入一些js和css文件 <link href="__PUBLIC__/CSS/bootstrap.css" rel="external nofollow" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="__PUBLIC__/CSS/fileinput.css" rel="