如何实现文件的跨服务器下载??

如何实现文件的跨服务器下载??,第1张

3中处理方式 1、服务器A通过stock 将服务器B 上得文件读取到A服务器上然后再输出给用户 2、服务器B用http、ftp 等协议能直接传输到用户端,服务器A只要定位到B服务器上的文件绝对路径即可 3、服务器A和B在一个Lan 网段,可以通过A访问B上的共享在实现 方式1性能消耗大,方式2不能控制用户(如需登录、积分)

其实我建议使用一个专门的ftp客户端来使用ftp比较好,这样你只需要在客户端上输入ftp服务器的IP和端口,账号,密码,就能轻松的上传和下载文件,非常实用。

这里我推荐使用IIS7服务器管理工具,它可以作为FTP的客户端,想要进行FTP的上传下载操作,只需要下载安装iis7服务器管理工具就可以了!免费下载,很方便。

同时它还可以作为VNC的客户端,进行VNC的相应操作!它能够连接Windows和Linux系统下的服务器和VPS,能满足你不同系统的使用,感觉不错的话可以试试

在jsp/servlet中断点/多线程下载文件

<%@ page import="javaioFile" %>

<%@ page import="javaioIOException" %>

<%@ page import="javaioOutputStream" %>

<%@ page import="javaioRandomAccessFile" %>

<%!

    public void downloadFile(HttpServletRequest request, HttpServletResponse response, File file) throws IOException {

        RandomAccessFile raf = new RandomAccessFile(file, "r");

        javaioFileInputStream fis = new javaioFileInputStream(rafgetFD());

        responsesetHeader("Server", "wwwtrydonecom");

        responsesetHeader("Accept-Ranges", "bytes");

        long pos = 0;

        long len;

        len = raflength();

        if (requestgetHeader("Range") != null) {

            responsesetStatus(HttpServletResponseSC_PARTIAL_CONTENT);

            pos = LongparseLong(requestgetHeader("Range")

                    replaceAll("bytes=", "")

                    replaceAll("-", "")

            );

        }

        responsesetHeader("Content-Length", LongtoString(len - pos));

        if (pos != 0) {

            responsesetHeader("Content-Range", new StringBuffer()

                    append("bytes ")

                    append(pos)

                    append("-")

                    append(LongtoString(len - 1))

                    append("/")

                    append(len)

                    toString()

            );

        }

        responsesetContentType("application/octet-stream");

        responsesetHeader("Content-Disposition", new StringBuffer()

                append("attachment;filename=\"")

                append(filegetName())

                append("\"")toString());

        rafseek(pos);

        byte[] b = new byte[2048];

        int i;

        OutputStream outs = responsegetOutputStream();

        while ((i = rafread(b)) != -1) {

            outswrite(b, 0, i);

        }

        rafclose();

        fisclose();

    }

%>

<%

    String filePath = requestgetParameter("file");

    filePath = applicationgetRealPath(filePath);

    File file = new File(filePath);

    downloadFile(request, response, file);

%>

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何实现文件的跨服务器下载??

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情