I get this error after setting INTERNET_ACCESS etc.
private class AsyncUpload extends AsyncTask<String, Void, Void>{
public void ftpUpload(){
FTPClient con = new FTPClient();
try
{
con.connect("ftp.194.90.81.149");
if (con.login("username", "password"))
{
con.enterLocalPassiveMode();
String data = "test data";
ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
boolean result = con.storeFile("/test.jpg", in);
in.close();
if (result) Log.v("upload result", "succeeded");
}
}
catch (Exception e)
{
e.printStackTrace();
}
try
{
con.logout();
con.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
}
@Override
protected Void doInBackground(String... params) {
ftpUpload();
return null;
}
}
here is another piece of code that I tested and still get this exception
public class FTPFactory {
private FTPClient _ftpClient = null;
public boolean Connect(String host, String userName, String password, int port) throws IOException
{
try {
_ftpClient = new FTPClient();
_ftpClient.connect(host, port);
if (FTPReply.isPositiveCompletion(_ftpClient.getReplyCode())) {
boolean status = _ftpClient.login(userName, password);
return status;
}
} catch(IOException e) {
throw e;
}
return false;
}
public boolean Disconnect()
{
try {
_ftpClient.logout();
_ftpClient.disconnect();
return true;
} catch (Exception e) {
}
return false;
}
public boolean ChangeDirectory(String directoryPath)
{
try {
_ftpClient.changeWorkingDirectory(directoryPath);
} catch(Exception e) {
}
return false;
}
public String GetCurrentWorkingDirectory()
{
try {
String workingDir = _ftpClient.printWorkingDirectory();
return workingDir;
} catch(Exception e) {
}
return null;
}
public void PrintFilesList(String dirPath)
{
try {
FTPFile[] ftpFiles = _ftpClient.listFiles(dirPath);
int length = ftpFiles.length;
for (int i = 0; i < length; i++) {
String name = ftpFiles[i].getName();
boolean isFile = ftpFiles[i].isFile();
if (isFile) {
}
else {
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
public boolean MakeDirectory(String newDirPath)
{
try {
boolean status = _ftpClient.makeDirectory(newDirPath);
return status;
} catch(Exception e) {
}
return false;
}
public boolean RemoveDirectory(String dirPath)
{
try {
boolean status = _ftpClient.removeDirectory(dirPath);
return status;
} catch(Exception e) {
}
return false;
}
public boolean RemoveFile(String filePath)
{
try {
boolean status = _ftpClient.deleteFile(filePath);
return status;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public boolean RenameFile(String from, String to)
{
try {
boolean status = _ftpClient.rename(from, to);
return status;
} catch (Exception e) {
}
return false;
}
public boolean Download(String srcFilePath, String desFilePath)
{
boolean status = false;
try {
FileOutputStream desFileStream = new FileOutputStream(desFilePath);;
status = _ftpClient.retrieveFile(srcFilePath, desFileStream);
desFileStream.close();
return status;
} catch (Exception e) {
}
return status;
}
public boolean Upload(String srcFilePath, String desFileName, String desDirectory)
{
boolean status = false;
try {
FileInputStream srcFileStream = new FileInputStream(srcFilePath);
if (ChangeDirectory(desDirectory)) {
status = _ftpClient.storeFile(desFileName, srcFileStream);
}
srcFileStream.close();
return status;
} catch (Exception e) {
}
return status;
}
}
source
share