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. libevent的简单应用【转载】

    本文转载自: http://blog.csdn.net/liuguanghui1988/article/details/7090531 Libevent的应用主要围绕几大事件:超时事件.信号事件.读/ ...

  2. hadoop 运行 datanode , mac 系统

    问题描述 今天使用 hadoop 时,发现无法通过下面命令上传文件到 hadoop 文件系统,会报错. bin/hadoop fs -put input . 运行 jps 后,输出如下: Resour ...

  3. java笔记11之二维数组

    格式1: 二维数组:就是元素为一维数组的一个数组 数据类型[][] 数组名 = new 数组类型[m][n] 其中m为行 n为列 注意: A:以下格式也可以表示二维数组            a:数据 ...

  4. js的深拷贝和浅拷贝

    一.数组的深浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致 ...

  5. JavaScript typeof obj === ‘object’ 这样写有什么问题

    typeof Array, Object, new Class() 都会返回'object', 所以使用typeof不能准确的判断变量是否为object typeof [];  //object ty ...

  6. HTTP meta 设置方法

    网页的缓存是由 HTTP 消息头中的 “Cache-control” 来控制的,常见的取值有 private.no-cache.max-age.must-revalidate 等,默认为private ...

  7. Apache Tomcat8必备知识

    Apache Tomcat8必备知识 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 一.Apache Tomcat 8介绍 Apache Tomcat ...

  8. XTU1199:Number Game

    题目描写叙述 给你一个有N个数的集合S和一个数X,推断是否存在S的一个子集,子集里的数的最小公倍数正好是X. 输入 第一行是数据组数T. 接下来有多组数据,每组数据包括两行: 第一行有2个数N和X,1 ...

  9. Asp.Net mvc筛选器中返回信息中断操作

    在mvc中,使用response.end()或Response.Redirect("url"); 是无法阻止请求继续往下执行的.如果在action中,可以我们可以使用return ...

  10. MaterialDialog的用法:

    MaterialDialog的用法:/** * * @author smiling * @date 2016/10 */ Github:https://github.com/drakeet/Mater ...