2013-11-20 2 views
0

эй, ребята, я застрял в проблеме, я хочу загрузить файл с помощью ftp, и я также загружаю его, но его размер файла 0kb, а фактический размер файла - 1 мб если я называю метод загрузки в моей по щелчку свою работу, но это оленья кожа работа с асинхронным задачей любезно помочь ...Не удалось загрузить файл через asynctask android

Button btn; 
Runnable mUpdateUITimerTask; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 




    btn = (Button) findViewById(R.id.button1); 
    btn.setOnClickListener(this); 

} 

public void onClick(View v) { 


    (new UpDateOperation()).execute(""); 

} 

public void uploadFile(File fileName) { 

    FTPClient client = new FTPClient(); 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
      .permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 

    try { 

     client.connect(FTP_HOST, 21); 
     client.login(FTP_USER, FTP_PASS); 

     if (client.isAuthenticated() == true) { 

      Log.d("hello", "world" + fileName.getName()); 
      client.setType(FTPClient.TYPE_BINARY); 

      client.upload(fileName); 

     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
     try { 
      client.disconnect(true); 
      Log.d("chal", "ja"); 
     } catch (Exception e2) { 
      e2.printStackTrace(); 
     } 
    } 

} 

public class UpDateOperation extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 



     uploadFile(null); 
     return "hello"; 

    } 

} 

}

+1

Почему вы вызываете uploadFile (null) с помощью null param? –

+0

Файл f = новый Файл (Environment.getExternalStorageDirectory() \t \t \t \t .getPath() + "/map.jpg"); \t \t \t \t @Override \t \t защищены Строка doInBackground (String ... PARAMS) { \t \t \t \t \t \t uploadFile (е); \t \t \t возвращение «привет»; –

+0

Фактически я вызывал метод загрузки не в ту сторону –

ответ

1

вы должны пройти actuall файл в AsyncTask в качестве первого параметра (или просто создать его в вашем методе uploadFile и передать строку с именем файла

Смежные вопросы