2012-04-04 1 views
2

나는 SFTP 서버로의 sdcard에서 파일을 업로드 JSch 라이브러리를 사용하고 있지만, 그러한 오류를 발생의안드로이드에서 sdcard에서 SFTP 서버로 파일을 업로드하려면 어떻게해야합니까?

04-04 14:29:02.609: W/System.err(10706): 3: Permission denied 
04-04 14:29:02.609: W/System.err(10706): at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289) 
04-04 14:29:02.609: W/System.err(10706): at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:485) 
04-04 14:29:02.609: W/System.err(10706): at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:389) 

내 코드 확인

public class FileUploadActivity extends Activity { 
/** Called when the activity is first created. */ 
Channel channel = null; 
ChannelSftp c = null; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.downloadmain); 

    final String host="192.***.*.**"; 
    final String username="*****123"; 
    final String password="****123"; 
    try { 
     Session session=connectSFTP(host, username, password); 
     channel = session.openChannel("sftp"); 
     channel.connect(); 
     c = (ChannelSftp) channel; 
     c.cd("/home/*****11/doc"); 
     String inputFileName =Environment.getExternalStorageDirectory().getAbsolutePath()+"/demo/enck.pdf"; 
     File f = new File(inputFileName); 
     c.put(inputFileName, "/home/*****11/doc/enck.pdf"); 
    } catch (Exception e) { 
     // TODO: handle exception 
     System.err.println("Unable to connect to FTP server." 
       + e.toString()); 
     e.printStackTrace(); 
    } 
} 
public Session connectSFTP(String host,String username,String password){ 
    Session session= null; 
    try{ 
     JSch js = new JSch(); 
     session = js.getSession(username, host, 22); 
     session.setPassword(password); 
     java.util.Properties config = new java.util.Properties(); 
     config.put("StrictHostKeyChecking", "no"); 
     session.setConfig(config); 
     session.connect();   
    }catch (Exception e) { 
     // TODO: handle exception 
     Toast.makeText(getBaseContext(), "Unable to connect Your SFTP Serve"+e, Toast.LENGTH_SHORT); 
    } 
    return session; 
} 
} 

답변

1

뻔한 일이다

  • 이 있습니까 응용 프로그램에 SD 카드를 읽을 수있는 권한이 있습니까?
  • 로그인하는 사용자에게 해당 대상에 대한 쓰기 권한이 있습니까?

예외 위치에서 나는 인터넷에 액세스 할 수있는 권한이 있다고 추론하지만 그 점도 이중 검사의 가치가 있습니다.