java将文件从Android应用程序上传到SFTP服务器
我的安卓应用程序正在尝试将一个文件上传到SFTP web服务器上,该服务器恰好是我大学服务器的子域,我有权在其中使用服务器空间的某个部分。我正在使用JSch
库。我已经将根文件夹和WWW
文件夹的权限设置为777。以下是一个截图:
以下是我的Android活动中的SFTP代码:
public class SFTPConnection extends AsyncTask<Void,Void,Void>
{
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
boolean conStatus = false;
Session session = null;
Channel channel = null;
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
Log.i("Session","is"+conStatus);
try {
JSch ssh = new JSch();
session = ssh.getSession("pmody", HOST_ADDRESS, 22);
session.setPassword("667758482");
session.setConfig(config);
session.connect();
conStatus = session.isConnected();
Log.i("Session","is"+conStatus);
channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
sftp.put("/sdcard/MyCameraApp/IMG_20140206_212035.jpg", "/");
} catch (JSchException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("Session","is"+conStatus);
} catch (SftpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("Session","is"+conStatus);
}
return null;
}
}
我得到以下日志:
3: Permission denied
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:594)
at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)
at com.example.locationtest.MainActivity$SFTPConnection.doInBackground(MainActivity.java:351)
at com.example.locationtest.MainActivity$SFTPConnection.doInBackground(MainActivity.java:1)
at 安卓.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at 安卓.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
此外,我已在清单中授予从外部存储读取和写入的权限。 拒绝许可的可能原因是什么
共 (0) 个答案