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. 通过xslt把xml转换成html

    将内容与内容的表现分离,软件界自从成为一个行业以来一直在追求的目标. xml+xslt是典型的数据与表现分离的设计方式.当然,你可以直接转换成HTML,但是如果你要进行整体变化的时候,XML+XSLT ...

  2. python学习笔记(集合的使用)

    集合 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. 集合元素(set elements):组成集合的成员 为什么需要集合? 集合的作用 1 .列表去重复数据 按照现有知 ...

  3. Android SHA1与Package获取方式

    获取应用包名 打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应用包名. 如下图所示,红框中的内容: 获取 Sha1 值 开发模式(d ...

  4. Android Toast 自定义

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  5. 跟着Android学设计模式:代理(proxy)

    代理模式 1.意图:为其它对象提供一种代理以控制对这个对象的訪问. 2.适用性: 远程代理:虚代理.保护代理:智能引用: Android源代码中用到了大量的代理设计模式.比方Context的设计,Bi ...

  6. Servlet的PrintWriter out = response.getWriter()使用

    一直以来,只知道out可以向客户端浏览器页面输入数据(html.txt等类型),今天在和php程序联调时发现自己的理解出现了偏差. out是输出字符流,即servlet接受到request请求后,se ...

  7. Target runtime Apache Tomcat v6.0 is not defined. phyy Unknown Faceted Project Problem

    Description Resource Path Location TypeTarget runtime Apache Tomcat v6.0 is not defined. phyy Unknow ...

  8. C语言二叉树的建立与遍历

    二叉树的建立和遍历都要用到递归,先暂时保存一下代码,其中主要是理解递归的思想,其它的就都好理解了.这里是三种遍历方式,其实理解一种,其它的几个就都理解了,就是打印出来的顺序不一样而已.建立和遍历的方式 ...

  9. ZOJ3161

    朴素动态规划 ZOJ3161 题意:(严重标题党)老板不想让客人走,客人不想留,客人按顺序排好,老板抽8g(书上翻译成八卦,神翻译),抽到的 如果相邻,其中一个人由客人决定离开,求最后黑心的老板最多能 ...

  10. hdu 5105

    题意: y=|a*x^3+b*x^2+c*x+d|    求y的最大值? 题目是bc上的,之前写的时候,没考虑0的情况(太笨了).... 水题吧.... AC代码: #include <iost ...