FTP-Upload und-Download auf Android
Bekomme ich diese Fehlermeldung, nachdem ich die eingestellt haben INTERNET_ACCESS und etc...
private class AsyncUpload extends AsyncTask<String, Void, Void>{
public void ftpUpload(){
FTPClient con = new FTPClient();
try
{
con.connect("ftp.194.90.81.149"); //here i recieve exception
//the exception is java.unknownhostexception
//java.net.UnknownHostException: Unable to resolve host "ftp.194.90.81.149": No address associated with hostname
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;
}
}
hier ist ein weiterer Teil des Codes habe ich getestet und immer noch erhalten, mit Ausnahme
public class FTPFactory {
private FTPClient _ftpClient = null;
public boolean Connect(String host, String userName, String password, int port) throws IOException
{
try {
_ftpClient = new FTPClient();
//connecting to the host
_ftpClient.connect(host, port);
//now check the reply code, if positive mean connection success
if (FTPReply.isPositiveCompletion(_ftpClient.getReplyCode())) {
//login using username & password
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;
}
/**
* mFTPClient: FTP client connection object (see FTP connection example)
* srcFilePath: path to the source file in FTP server
* desFilePath: path to the destination file to be saved in sdcard
*/
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;
}
/**
* mFTPClient: FTP client connection object (see FTP connection example)
* srcFilePath: source file path in sdcard
* desFileName: file name to be stored in FTP server
* desDirectory: directory path where the file should be upload to
*/
public boolean Upload(String srcFilePath, String desFileName, String desDirectory)
{
boolean status = false;
try {
FileInputStream srcFileStream = new FileInputStream(srcFilePath);
//change working directory to the destination directory
if (ChangeDirectory(desDirectory)) {
status = _ftpClient.storeFile(desFileName, srcFileStream);
}
srcFileStream.close();
return status;
} catch (Exception e) {
}
return status;
}
}
- Ich dachte, FTP-URL-format ist nicht in der rechten Weise,check es mal
- Sollten Sie post von der stacktrace zu Ihrem Problem. Aber es scheint, Sie haben eine schlechte Verbindung zu Ihrem string FtpClient.
- Ich habe jede Variante getestet possble.i können Sie mir bitte helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Tatsache, dass Sie erhalten eine UnknownHostException bedeutet, dass http://ftp.194.90.81.149 ist das nicht ein echter hostname in DNS. Ich würde vermuten, dass der numerische Teil das ist, was Sie wirklich wollen. I. e, versuchen Sie, die Linie zu
Unbekannte host-Ausnahme bedeutet, dass entweder Sie sind fehlende internet-Berechtigung, oder Sie sind nicht mit dem internet verbunden Oder kann sein, dass Ihre ftp-url ist falsch.
IP
das ist es. Und, ja. Meine Frage ist gelöst, wie Sie oben sehen können.