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. 区分width()、css('width')、innerWidth()

    #widthTest1 { width: 200px; height: 200px; background-color: #00CCFF; -webkit-box-sizing: border-box ...

  2. 递归实现生成Grey码

    腾讯2016研发笔试题1: 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码. 给定一个整数n, ...

  3. eXtremeDB

    I am doing a cluster test, why did I encounter the ld errorwhen compiling the several packages from ...

  4. JVM性能调优监控工具

    命令:jps.jstat.jmap.jhat.jstack 简介:(1) jmap -dump:format=b,file=eclipse.bin 10481  生成堆转储快照eclipse.bin ...

  5. Android Studio中自己定义快捷输入块

    快捷键:Ctrl + Alt + s,进入Settings >Editor>Live Templates>output中加入一个项,选择第一个Live Template waterm ...

  6. ORACLE函数之单行数字函数

     1.           ABS(X) 返回X的绝对值 SQL>SELECT ABS(-1) A,ABS(1) B,ABS(0) C FROM DUAL; A          B     ...

  7. 关于CSS选择器的效率问题

    最近一段时间接触CSS比较多,所以从网上找了写资料,这里做下总结. 以下是CSS选择器的效率排名: id选择器(#myid) 类选择器(.myclassname) 标签选择器(div,h1,p) 相邻 ...

  8. 数据库 SQL 外键约束 多表查询

    多表设计与多表查询 1.外键约束        表是用来保存现实生活中的数据的,而现实生活中数据和数据之间往往具有一定的关系,我们在使用表来存储数据时,可以明确的声明表和表之前的依赖关系,命令数据库来 ...

  9. .net 中序列化和反序列化的使用

    序列化的目的:将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 序列化 序列化分为JSON 序列化,XML序列化,二 ...

  10. hdu 2104

    #include <iostream> using namespace std; int gcd(int a,int b) { return (b?gcd(b,a%b):a); } int ...