1. package com.photo;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import org.apache.commons.net.ftp.FTPClient;
  8. import org.apache.commons.net.ftp.FTPReply;
  9. public class FileTool {
  10. /**
  11. * Description: 向FTP服务器上传文件
  12. *
  13. * @param url
  14. *            FTP服务器hostname
  15. * @param port
  16. *            FTP服务器端口
  17. * @param username
  18. *            FTP登录账号
  19. * @param password
  20. *            FTP登录密码
  21. * @param path
  22. *            FTP服务器保存目录,是linux下的目录形式,如/photo/
  23. * @param filename
  24. *            上传到FTP服务器上的文件名,是自己定义的名字,
  25. * @param input
  26. *            输入流
  27. * @return 成功返回true,否则返回false
  28. */
  29. public static boolean uploadFile(String url, int port, String username,
  30. String password, String path, String filename, InputStream input) {
  31. boolean success = false;
  32. FTPClient ftp = new FTPClient();
  33. try {
  34. int reply;
  35. ftp.connect(url, port);// 连接FTP服务器
  36. // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
  37. ftp.login(username, password);//登录
  38. reply = ftp.getReplyCode();
  39. if (!FTPReply.isPositiveCompletion(reply)) {
  40. ftp.disconnect();
  41. return success;
  42. }
  43. ftp.changeWorkingDirectory(path);
  44. ftp.storeFile(filename, input);
  45. input.close();
  46. ftp.logout();  //否则服务器上无法显示图片
  47. success = true;
  48. } catch (IOException e) {
  49. e.printStackTrace();
  50. } finally {
  51. if (ftp.isConnected()) {
  52. try {
  53. ftp.disconnect();
  54. } catch (IOException ioe) {
  55. }
  56. }
  57. }
  58. return success;
  59. }
  60. // 测试
  61. public static void main(String[] args) {
  62. FileInputStream in = null ;
  63. File dir = new File("G://pathnew");
  64. File files[] = dir.listFiles();
  65. if(dir.isDirectory()) {
  66. for(int i=0;i<files.length;i++) {
  67. try {
  68. in = new FileInputStream(files[i]);
  69. boolean flag = uploadFile("17.8.119.77", 21, "android", "android",
  70. "/photo/", "412424123412341234_20130715120334_" + i + ".jpg", in);
  71. System.out.println(flag);
  72. } catch (FileNotFoundException e) {
  73. e.printStackTrace();
  74. }
  75. }
  76. }
  77. }
  78. }

http://blog.csdn.net/liuzhidong123/article/details/9341269

android传送照片到FTP服务器的更多相关文章

  1. shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上

    shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上 naonao_127关注2人评论19401人阅读2012-06-08 11:26:16         生产环境下脚本自动备份脚本是 ...

  2. Android中FTP服务器搭建入门

    http://www.2cto.com/kf/201501/374048.html http://blog.csdn.net/smile3670/article/details/44343617  有 ...

  3. Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍

    本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...

  4. Android和FTP服务器交互,上传下载文件(实例demo)

    今天同学说他备份了联系人的数据放在一个文件里,想把它存到服务器上,以便之后可以进行下载恢复..于是帮他写了个上传,下载文件的demo 主要是 跟FTP服务器打交道-因为这个东东有免费的可以身亲哈 1. ...

  5. Android 上传文件到 FTP 服务器

    实现背景 近期接触到一个需求,就是将文件从Android系统上传到FTP服务器,虽然之前接触过FTP服务器,了解基本的使用流程,但是将此流程从使用习惯转化为代码实现还是有一定难度的.但是基本的流程还是 ...

  6. Android手机使用WIFI及USB建立FTP服务器总结

    想必大家经常在PC和Android之间传输文件,并不是每次都会插USB接口进行文件传输,就算是插上USB接口,还是有个问题,那就是Android打开大容量存储模式之后,经常很多软件就会被强制停止使用, ...

  7. 用Python在Android手机上架FTP服务器

    当我们没有带数据线却将手机上的文件共享到电脑上时,架个简单的FTP服务器 可以帮我们快速解决问题.以共享手机里的照片为例: 首先将电脑.手机接入同一个wifi. 然后,手机上用QPython执行以下脚 ...

  8. Android操作HTTP实现与服务器通信(转)

    Android操作HTTP实现与服务器通信   本示例以Servlet为例,演示Android与Servlet的通信. 众所周知,Android与服务器通信通常采用HTTP通信方式和Socket通信方 ...

  9. RedHat6.2搭建FTP服务器

    我的环境: A:Red Hat Enterprise 6.2 IP:192.168.16.12 此机作测试端 B:Red Hat Enterprise 6.2 IP:192.168.16.13 此机做 ...

随机推荐

  1. Swift基础语法学习总结二

    1.函数 1.1 func funcNmae()->(){} 这样就定义了一个函数,它的参数为空,返回值为空,如果有参数和返回值直接写在两个括号里就可以了 1.2 参数需要指明类型,而如果没有返 ...

  2. Oracle执行计划——all_rows和first_rows(n) 优化器模式

    0. 环境创建 SQL> create usertest identified by test 2 default tablespace users 3 temporary tablespace ...

  3. ganglia单播配置

    背景:    有时,由于当前网络不支持组播等种种原因,使用gmond默认的配置gmetad不能获取到各个客户端的全部数据,http://x.x.x.x/ganglia页面一个cluster组只能展示一 ...

  4. 网络编程TCP总结及实践-C语言

    网络变成首先要注意IP和port的转换,如今电脑基本上是主机字节序,存储依照小端方式,而在网络中传输统一使用大端方式,所以网络变成首先要注意字节序的转换. 一个经常使用的ip转换程序的实现: #inc ...

  5. java图片处理工具类

    直接上代码: package com.zxd.tool; /** * Created by zhang on 14-3-1. * 图片的常用操作类 */ import java.awt.AlphaCo ...

  6. 配置Windows下编译运行C/C++过程

    1.首先确定电脑安装了VS或者VC++的IDE: 2.修改环境变量 在系统属性-高级-环境变量-用户变量中: 编辑PATH增加cl编译器的路径D:\Program Files\Microsoft Vi ...

  7. Java多线程——ThreadLocal类

    一.概述   ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名 ...

  8. dl标签和table标签

    dl标签定义了一个定义列表 <html> <body> <h2>一个定义列表:</h2> <dl>   <dt>计算机</ ...

  9. HTML中属性ID和属性NAME的区别(转)

    ID和Name都可以用来标识一个标记,Javascript分别有两个方法getElementById和getElementByName来定位Dom节点. 区别如下: 1.我们知道在网页做Post提交时 ...

  10. static类

    静态类,用于类内部. 静态类,不需要创建父类对象,即可使用. 非静态类,需要先创建父类对象,才可使用. class A{ static class  B1{} class B2{} } = new A ...