2013-06-07 4 views
1

내 안드로이드 앱에서 다음 코드 스 니펫을 사용하여 FTP를 통해 파일을 전송합니다. 바이너리 파일 모드가 설정된 수동 모드를 이미 사용하고 있습니다. 지금 코드는 그대로이며 파일 이름은 내 전화기에있는 파일에 대해 하드 코드됩니다. 나는 Wifi에 연결하고 언급 한 주소에 FTP 서버에 파일을 옮길 것을 바란다. 동일한 네트워크상의 다른 컴퓨터에서 작동하도록 코드를 테스트했습니다. ADT- 이클립스 에뮬레이터는이 일을하지 않으며 Android 4.0으로 업데이트 된 내 Xperia Ray ST18i가 연결될 때 올바른 장치로 감지되지 않습니다. COMTON-NET-3.2.jar를 ADT에 성공적으로 가져 왔으며 Wi-Fi에 연결되어있는 동안 휴대 전화의 .apk 파일을 복사하여 확인합니다. 그러나 전송이 작동하지 않습니다. 에뮬레이터 나 휴대 전화에서 디버깅 할 때 포인터를 얻을 수 있다면 좋을 것입니다. 감사.Android commons-net FTP 파일 업로드

import java.io.FileInputStream; 
import java.io.InputStream; 
import org.apache.commons.net.ftp.FTPClient; 
public class test 
{ 
    private static String server = "<valid-ip-address>"; 
    private static String username = "<valid-user>"; 
    private static String password = "password"; 
    private static String fileLocation = "<valid-file>"; 
    private static String fileName = "<valid-file>"; 


    public static void main(String[] args) throws Exception { 
    FTPClient f = new FTPClient(); 
    f.connect(server); 
    f.login(username, password); 
    f.enterLocalPassiveMode(); 
    f.setFileType(FTPClient.BINARY_FILE_TYPE); 
    InputStream is = new FileInputStream(fileLocation); 
    f.storeFile(fileName, is); 
    f.disconnect(); 
    is.close(); 
    } 
} 

답변

1

- 이전에이 코드를 테스트 한 경우는, 다음은 이전 작업을했지만, 여전히 내가 체크리스트에 있어야합니다 몇 가지 문제에 라임 빛을 던져 싶은 것을 의미한다.

- 매니페스트에 Internet Permission이 있는지 확인하세요.

-file location이 올바른지 확인하십시오.

- 프로젝트 경로에 commons-ftp jar 파일을 추가했으며 컴파일 오류가 발생하지 않았습니다. (바보 같지만 여전히 확인합니다.)

- 당신이 Handler 또는 AsyncTaskThread를 사용하여, 비 UI 스레드에 FTP 코드를 호출하는 것을 참조하십시오.