• android传送照片到FTP服务器


    在安卓环境下可以使用,在java环境下也可以使用,本人先在Java环境下实现了功能,然后移植到了安卓手机上,其它都是一样的。

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

    以上为java代码,下面是android代码。

    [java] view plaincopy
     
    1. package com.ftp;  
    2.   
    3. import java.io.File;  
    4. import java.io.FileInputStream;  
    5. import java.io.FileNotFoundException;  
    6.   
    7. import android.os.Bundle;  
    8. import android.app.Activity;  
    9. import android.util.Log;  
    10. import android.view.Menu;  
    11.   
    12. public class MainActivity extends Activity {  
    13.   
    14.     @Override  
    15.     protected void onCreate(Bundle savedInstanceState) {  
    16.         super.onCreate(savedInstanceState);  
    17.         setContentView(R.layout.activity_main);  
    18.           
    19.         new uploadThread().start();  
    20.     }  
    21.   
    22.     class uploadThread extends Thread {  
    23.         @Override  
    24.         public void run() {  
    25.             FileInputStream in = null ;  
    26.             File dir = new File("/mnt/sdcard/DCIM/Camera/test/");  
    27.             File files[] = dir.listFiles();  
    28.             if(dir.isDirectory()) {  
    29.                 for(int i=0;i<files.length;i++) {  
    30.                     try {  
    31.                          in = new FileInputStream(files[i]);  
    32.                         boolean flag = FileTool.uploadFile("17.8.119.77", 21, "android", "android",  
    33.                                 "/", "412424123412341234_20130715120334_" + i + ".jpg", in);  
    34.                         System.out.println(flag);  
    35.                     } catch (FileNotFoundException e) {  
    36.                         e.printStackTrace();  
    37.                     }  
    38.                 }  
    39.             }  
    40.         }  
    41.     }  
    42. }  


    经过本人测试通过,可正常运行,仅供参考,如有疑问请与我联系。

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

  • 相关阅读:
    2020.1.15考试总结
    P4558 [JSOI2018]机器人 结论&DP
    2020.1.11考试总结
    2020.1.9考试总结
    如何和出题人斗智斗勇?奇技淫巧汇总
    各种公式总结
    2020.1.5考试总结
    C基础学习笔记——01-C基础第10天(内存结构)
    C基础学习笔记——01-C基础第09天(指针下)
    C基础学习笔记——01-C基础第08天(指针上)
  • 原文地址:https://www.cnblogs.com/daishuguang/p/3876144.html
Copyright © 2020-2023  润新知