adlin2000
شنبه 24 فروردین 1392, 14:51 عصر
با سلام
بر روی آپلود فایل به سرور کار می کنم ، برای این کار از سایت apache (http://barnamenevis.org/commons.apache.org/proper/commons-net/download_net.cgi) یک فایل زیپ رو دانلود و به برنامم اضافه کردم
و از کد زیر برای ارسال استفاده کردم :
FTPClient Client= new FTPClient();
Log.i(TAG,"-----------FTPClient");
try {
Log.i(TAG,"-------try");
Client.connect(InetAddress.getByName("ftp.XXXXX.com"),21);
Log.i(TAG,"-------connect");
result=Client.login("UserXXXX", "PassXXXX");
Log.i(TAG,"-------Login");
if (result){
Log.i(TAG,"Successfully logged in!");
Client.setFileType(FTP.BINARY_FILE_TYPE);
Client.enterLocalPassiveMode();
File file = new File(Environment.getExternalStorageDirectory()+"/test.xml");
InputStream in = new FileInputStream(file);
Client.storeFile("test.xml", in);
in.close();
} else {
Log.i(TAG,"Login Fail!");
return;
}
Client.logout();
Client.disconnect();
} catch (SocketException e) {
Log.d(TAG, "SocketException status=="+e.toString());
e.printStackTrace();
} catch (FileNotFoundException e) {
Log.d(TAG, "FileNotFoundException status=="+e.toString());
e.printStackTrace();
} catch (IOException e) {
Log.d(TAG, "IOException status=="+e.toString());
e.printStackTrace();
} catch (Exception e){
Log.d(TAG, "Exception status=="+e.toString());
}
با خطای زیر در logcat روبرو میشم : تصویر خطا
(http://s3.picofile.com/file/7724390535/112222.png) اگه به خروجیLog های برنامه نگاه کنین ، در قسمت مربوط به connect یک استثنا رخ داده است . چون Log بعد از دستور Connect اجرانشده .
اون چیزی که خودم احتمال میدم ، احتمالاً اشکال در فایل هایی هست که از سایت apache (http://commons.apache.org/proper/commons-net/download_net.cgi)دانلود کرده ام ، چون وقتی وارد صفحه سایت میشی ٰ یک dropdownlist قرار داده که انتخاب های متعددی را در اختیارت قرار میده ٰ اما من دقیقاً نمی دونم از کدومشون در برنامم استفاده کنم . هر چند چندین فایل رو دانلود و در برنامم قرار دادم اما باز همون خطا پا برجاست .
توضیح بیشتر اینکه :
نسخه اندرویدی که با آن کار می کنم : 4.2
نسخه ای که از سایت apache دانلود کردم : Apache Commons Net 3.2 (http://commons.apache.org/proper/commons-net/download_net.cgi)
در ضمن permission های زیر را در فایل AndroidManifest.xml استفاده کرده ام :
INTERNET .
ACCESS_NETWORK_STATE .
WRITE_EXTERNAL_STORAGE.
READ_EXTERNAL_STORAGE .
سورس برنامه من (http://s2.picofile.com/file/7724446127/Testftp5.zip.html)
در ضمن از یه سرور ایرانی ویندوز برای این کار استفاده می کنم .
لطفاً کسی در این زمینه تجربه ای داره ممنون میشم بگه
بی نهایت سپاس
بر روی آپلود فایل به سرور کار می کنم ، برای این کار از سایت apache (http://barnamenevis.org/commons.apache.org/proper/commons-net/download_net.cgi) یک فایل زیپ رو دانلود و به برنامم اضافه کردم
و از کد زیر برای ارسال استفاده کردم :
FTPClient Client= new FTPClient();
Log.i(TAG,"-----------FTPClient");
try {
Log.i(TAG,"-------try");
Client.connect(InetAddress.getByName("ftp.XXXXX.com"),21);
Log.i(TAG,"-------connect");
result=Client.login("UserXXXX", "PassXXXX");
Log.i(TAG,"-------Login");
if (result){
Log.i(TAG,"Successfully logged in!");
Client.setFileType(FTP.BINARY_FILE_TYPE);
Client.enterLocalPassiveMode();
File file = new File(Environment.getExternalStorageDirectory()+"/test.xml");
InputStream in = new FileInputStream(file);
Client.storeFile("test.xml", in);
in.close();
} else {
Log.i(TAG,"Login Fail!");
return;
}
Client.logout();
Client.disconnect();
} catch (SocketException e) {
Log.d(TAG, "SocketException status=="+e.toString());
e.printStackTrace();
} catch (FileNotFoundException e) {
Log.d(TAG, "FileNotFoundException status=="+e.toString());
e.printStackTrace();
} catch (IOException e) {
Log.d(TAG, "IOException status=="+e.toString());
e.printStackTrace();
} catch (Exception e){
Log.d(TAG, "Exception status=="+e.toString());
}
با خطای زیر در logcat روبرو میشم : تصویر خطا
(http://s3.picofile.com/file/7724390535/112222.png) اگه به خروجیLog های برنامه نگاه کنین ، در قسمت مربوط به connect یک استثنا رخ داده است . چون Log بعد از دستور Connect اجرانشده .
اون چیزی که خودم احتمال میدم ، احتمالاً اشکال در فایل هایی هست که از سایت apache (http://commons.apache.org/proper/commons-net/download_net.cgi)دانلود کرده ام ، چون وقتی وارد صفحه سایت میشی ٰ یک dropdownlist قرار داده که انتخاب های متعددی را در اختیارت قرار میده ٰ اما من دقیقاً نمی دونم از کدومشون در برنامم استفاده کنم . هر چند چندین فایل رو دانلود و در برنامم قرار دادم اما باز همون خطا پا برجاست .
توضیح بیشتر اینکه :
نسخه اندرویدی که با آن کار می کنم : 4.2
نسخه ای که از سایت apache دانلود کردم : Apache Commons Net 3.2 (http://commons.apache.org/proper/commons-net/download_net.cgi)
در ضمن permission های زیر را در فایل AndroidManifest.xml استفاده کرده ام :
INTERNET .
ACCESS_NETWORK_STATE .
WRITE_EXTERNAL_STORAGE.
READ_EXTERNAL_STORAGE .
سورس برنامه من (http://s2.picofile.com/file/7724446127/Testftp5.zip.html)
در ضمن از یه سرور ایرانی ویندوز برای این کار استفاده می کنم .
لطفاً کسی در این زمینه تجربه ای داره ممنون میشم بگه
بی نهایت سپاس