Java怎样实现跨服务器文件上传

Java怎样实现跨服务器文件上传,第1张

另一台机器也要有处理文件上传的WEB程序,你可以参考Stream上传插件(支持HTML5和Flash两种方式上传)

Stream 上传插件

Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合!

Stream 简介

Stream 是根据某网的文件上传插件加工而来,支持不同平台(Windows, Linux, Mac, Android, iOS)下,主流浏览器(IE7+, Chrome, Firefox, Safari, 其他)的上传工作,当然在Html5标准下,还支持文件的断点续传功能,有效解决大文件的Web上传问题!

主要特征

1. 源码完全开放,目前有Java、PHP、Perl三种后台语言实现

2. 支持HTML5、Flash两种方式(跨域)上传

3. 多文件一起上传

4. HTML5支持断点续传,拖拽等新特性

5. 兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨游等主流浏览器

6. 进度条、速度、剩余时间等附属信息

7. `选择文件的按钮`可以自定义

8. 简单的参数配置实现 灵活多变的功能

9. 支持文件夹上传(Chrome21+, Opera15+)

10. 支持自定义UI(V1.4+)

指定跨域上传就可以了

你要2个服务器传送文件的话,假如你有QQ之类的,(两台都要有)这样你就可以用电脑1发文件到QQ,然后用电脑2接受就可以了。要是你没有QQ这类的,你就把电脑1和电脑2用一个WIFI,就可以相互连接了。

假设A 是你web 站点的服务器 B 是你要上传文件的服务器 1、在B 服务器上共享一个文件夹upload,并设置好权限 开设用户test 密码123456 并给予test 对upload 的写入权限,同时在该文件夹里放入一个简单的页面,随便什么都行,输出几个字母就可以了【B 服务器上的操作 over】 2、 在A 服务器web 站点下面建立一个虚拟目录,默认加虚拟目录的时候是没得选择其他服务器的共享文件夹的,你先随便选择一个本地的路径,建立好之后,点击该 虚拟目录的属性,在更改本地路径的上面,有3 个选择,你选择“另一台计算机上的共享”,接着设置网络路径,格式是这样的:\{服务器}\{共享名}, {服务器}用IP来代替,{共享名}就是那个upload 文件夹,填好之后点击后面的“连接用户”,输入刚才在B 服务器上用户test 和密码 123456(当然,简单一点,你最好先测试一下,确定A 服务器能访问B 服务器共享的文件夹,如果A 都不能访问B 的共享,那你先解决这个问题先,测试的方 法很简单,在浏览器里输入\B 服务器的IP\upload,如果能输入用户和密码之后能看到你刚才随便建的那个文件,OK,共享是可以访问的) 3、虚拟目录设置好了之后,你可以测试一下,在A的 web 站点下面通过程序获取一下虚拟目录的路径,如果是成功的,路径应该是服务器B 的IP+upload 文件夹。 一种方式:还是通过A 服务器web 站点下面的虚拟目录来访问,这种情况下,B 服务器只是提供空间 另一种方式:在B 服务器上建立一个站点,指向该目录,这样B 服务器分担了访问文件时IIS 的工作任务 文件上传保存: SaveAs(Server.MapPath("abc") + "\" + filePath.Substring(filePath.LastIndexOf("\") + 1))//abc 为程序运行站点或者虚拟目录下的虚拟目录 文件浏览: DownloadFile(Server.MapPath("abc") + "//abc.txt")//abc.txt 为B 服务器上的文件 private void DownloadFil e(string physicalFi lePath) { Fil eStream stream = nulltry { stream = n ew Fil eStream(physicalFil ePath, F ileMode.Open, Fil eAcc ess.R ead, Fi leShare.Read)int bufSize = (int)stream. Lengthbyt e[] buf = new byte[bufSize]int bytesRead = stream.Read(buf, 0, bufSiz e)HttpContext.Current.Response.C ontentType = "applic ation/octet-stream"// attachment 是以附件的形式下载,也可以改为online在线找开. HttpContext.Current.Response.AppendHeader("Content -Disposition", "attachmentfil ename=" + HttpUtility.UrlEncode(System.IO. Path. GetFil eName(physic alFil ePath), Syst em. Text.Encoding.UTF8))HttpContext.Current.Response.OutputStream.Write(buf, 0, bytesRead)HttpContext.Current.Response.End()} final ly { stream.Clos e()} }


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/243494.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存