我檢查了其他答案,他們沒有幫我解決這個錯誤。也許我在做別的事情。無法連接到Android中的FTP
這裏是我的代碼:
void uploadPic() throws FileNotFoundException
{
FileInputStream fis = new FileInputStream(path);
FTPClient con = new FTPClient();
int bytesAvailable;
try
{
con.connect("ftp://ftp.drivehq.com/");
Toast.makeText(this, "Connected to FTP", Toast.LENGTH_SHORT).show();
if (con.login("x", "x"))
{
Toast.makeText(this, "Logged in", Toast.LENGTH_SHORT).show();
con.enterLocalPassiveMode(); // Active mode doesn't really work on Android
bytesAvailable = fis.available();
byte[] barray = new byte[bytesAvailable];
fis.read(barray);
ByteArrayInputStream in = new ByteArrayInputStream(barray);
boolean result = con.storeFile("/CameraUpload.jpg", in);
in.close();
if (result) Log.v("Upload Result", "Succeeded");
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
我添加INTERNET權限到我的項目。 logcat顯示這些錯誤:
android.os.NetworkOnMainThreadException
W/System.err(17531): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
W/System.err(17531): at java.net.InetAddress.lookupHostByName(InetAddress.java:391
我通過Wifi連接到互聯網。
嗨 - 我從來沒有爲Android開發的,但我谷歌-d該異常外的好奇心和它說,你不能從你的主做網絡業務(如FTP)線程並且必須從子線程完成它們。你在做那個嗎? - http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html –
這是問題:)昨天修復了它。 – Asim