`
月亮不懂夜的黑
  • 浏览: 151329 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FTP上传核心方法

 
阅读更多

核心处理FTP上传的方法

假如FTP不限制上传网速的话,基本能达到10M/s(局域网内)

/** 
     * 上传文件-FTP方式 
     * @param ftp FTPClient对象 
     * @param path FTP服务器上传地址 
     * @param filename 本地文件路径 
     * @param inputStream 输入流 
     * @return boolean 
     */  
    public boolean uploadFile(FTPClient ftp, String path, String fileName, InputStream inputStream) {  
        boolean success = false;  
        try {  
        	if (!ftp.changeWorkingDirectory(path)) {// 如果不能进入dir下,说明此目录不存在!  
        		FtpUtils.makeDirectory(path, ftp);
            }  
        	ftp.changeWorkingDirectory(path);
            
            FTPFile[] fs = ftp.listFiles();//得到目录的相应文件列表  
            fileName = FtpUtils.changeName(fileName, fs);  
            //转到指定上传目录  
            ftp.changeWorkingDirectory(path);  
            //将上传文件存储到指定目录  
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.setBufferSize(1024*1024);
            //如果缺省该句 传输txt正常 但图片和其他格式的文件传输出现乱码  
            BufferedInputStream bIs = new BufferedInputStream(inputStream);
            ftp.storeFile(fileName, bIs);  
            //关闭输入流  
            inputStream.close();  
            //退出ftp  
            ftp.logout();  
            //表示上传成功  
            success = true; 
            logger.debug("上传成功。。。。。。");
        } catch (Exception e) { 
        	logger.error("文件上传失败:" + e.getMessage());
            e.printStackTrace();  
        }  
        return success;  
    }  

 注意:以下代码是核心解决上传速度的

 ftp.setBufferSize(1024*1024);
 
 BufferedInputStream bIs = new BufferedInputStream(inputStream);

 

分享到:
评论

相关推荐

    易语言API核心库做的FTP上传文件

    易语言API核心库做的FTP上传文件源码,InternetOpen,InternetConnect,InternetCloseHandle,FtpFindFirstFile,InternetFindNextFile,FtpSetCurrentDirectory,FtpCreateDirectory,FtpGetCurrentDirectory,...

    LotusScript调用FTP上传

    这个东东是很冷门的,一般用lotus script只是写点代理更新文档,如果你需要和其它的系统共享数据,比如说domino上的一个应用(带附件)需要主动丢数据到其它服务器(比如tomcat),那你可能需要这个利用FTP上传的功能。...

    VC++上传下载 FTP客户端源代码

    VC++上传下载,FTP客户端源代码,功能不算太多,不过实现的FTP的基本功能,设置服务器参数后,可连接FTP服务器,进行文件上传或下载,大家可在此基础上继续扩展,核心模块可参考。

    FTP,文件传输!SMTP设计.rar_Alienf_FTP 协议_ftp 客户端_ftp 服务器_ftp文件传输

    1)用户界面模块负责响应用户的键盘鼠标输入设置服务器的...此模块为FTP协议的核心,它具体负责FTP命令的解析与实现。 4)客户数据传输模块负责具体的与客户端的数据传输,包括文件的上传,下载,传输文件目录列表等。

    Android FTP 多线程断点续传下载\上传的实例

    最近在给我的开源下载框架Aria增加FTP断点续传下载和上传功能,在此过程中,爬了FTP的不少坑,终于将功能实现了,在此把一些核心功能点记录下载。 FTP下载原理 FTP单线程断点续传 FTP和传统的HTTP协议有所不同,...

    基于SpringCloud微服务FTP客户端的-源代码压缩包.rar

    客户端的核心功能上传和下载,通过浏览服务器端的文件,选中好文件后,选择下载至本地哪个目录下,再选择下载功能;对于上传功能来说,选好本地文件,再选好服务器目录,选择上传功能即可,实现了更好的远程文件管理...

    google-drive-ftp-adapter:Google Drive FTP Adapter通过FTP协议连接到Google Drive

    谷歌驱动器ftp适配器消息最新版本v1.6.2-27/10/2018 最新修复: 最新版本的Apache FTP服务器核心1.1.1 Google Drive API v3 完整的代码重构和清理使用流上传和下载移至Java 8 改善性能错误修复在线服务(ftp / ftps...

    VC++上传下载,FTP客户端源代码

    内容索引:VC/C++源码,网络相关,FTP VC++上传下载,FTP客户端源代码,功能不算太多,不过实现的FTP的基本功能,设置服务器参数后,可连接FTP服务器,进行文件上传或下载,大家可在此基础上继续扩展,核心模块可参考...

    计算机实验 Socket编程 FTP客户端源程序

    FTP核心功能是否采用自编类 能够指定目标机器IP和端口 能够指定认证用的用户名/口令 支持匿名用户登录 能够在PASV模式下工作 能够成功连接服务器,列出主目录 能够变换目录,并指定源/目标目录 能够下载文件到本地,...

    VC 源码:多线程多站点、多任务的ftp客户端.rar

    多线程多站点、多任务的ftp客户端,VC 网络传输方面的源程序实现多站点下载和上传。在界面上,有Cuteftp的雏形,不过必竟是个人软件,在功能上也只是实现了最核心的部分,还有许多修饰性的功能没有加上,喜欢这个...

    linux项目工程资料-基于Linux系统的 ftp系统能实现文件的上传和下载.zip

    该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是Linux项目的一些主要特点和资料介绍: 开放源代码:Linux项目的所有源代码都是公开的,并允许任何...

    VC++多线程多任务Ftp客户端源程序代码

    内容索引:VC/C++源码,网络相关,FTP,多线程 VC++多线程多站点、多任务的ftp客户端,实现多站点下载和上传。在界面上,有Cuteftp的雏形,不过必竟是个人软件,在功能上也只是实现了最核心的部分,还有许多修饰性的...

    迈云 ZunyX 文件分享系统 2010 Beta.zip

    FTP上传 多附件进度条可视化上传 无限极无限数文件夹管理 在后台就可以经过简单配置拥有个性界面 简单轻松设定个性后缀图标 首页广告及自定义头部 后台完善的附件管理机制 后台自动获取最新程序信息,根据您...

    Python核心编程第二版(ok)

    Python核心编程第二版(ok) 第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   ...

    计算机网络实验报告

    FTP核心功能是否采用自编类; 能够指定目标机器IP和端口; 能够指定认证用的用户名/口令; 支持匿名用户登录; 能够在PASV模式下工作; 能够成功连接服务器,列出主目录; 能够下载文件到本地,并能...

    Python核心编程第二版

    第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.3.1 高级   1.3.2 面向对象   1.3.3 可升级   1.3.4 可扩展   1.3.5 可移植性   1.3.6...

    aioftp:异步客户端的ftp客户端服务器(http

    aioftp 异步的ftp客户端/服务器( )特征简单的。 可扩展客户端通过代理袜子(pip install aioftp [socks])。目标最小可用核心。 请勿使用已弃用或覆盖的命令和功能(如果可能)。 非常高级的api。 客户端使用以下...

    计算机网络自顶向下方法第4版—课件1-2章

    现上传到DSDN与大家共享,希望对学习网络的朋友有所帮助。 目前只整理到第2章,年底前陆续整理并上传3-5章。 1-2章目录: 第1章 计算机网络与因特网概述 什么是因特网? 什么是协议? 网络边缘:主机,接入网,物理...

Global site tag (gtag.js) - Google Analytics