0

「androidapp」から「ftpserverinPC」にアクセスしてファイルをダウンロードできないので、無線接続を使用しました。

public void FTP_Download(){

            String server = "192.168.1.135";
            int port = 21;
            String user = "pc1";
            String pass = "1551";

            FTPClient ftpClient = new FTPClient();

            try {

                ftpClient.connect(server, port);
                ftpClient.login(user, pass);
                ftpClient.enterLocalPassiveMode();
                ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                Toast.makeText(getBaseContext(), "download starting.",Toast.LENGTH_LONG).show();
                // APPROACH #1: using retrieveFile(String, OutputStream)
                String remoteFile1 = "i.xml";
                File downloadFile1 = new File("sdcard/i.xml");

                OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
                boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
                outputStream1.close();

                if (success) {
                    Toast.makeText(getBaseContext(), "File #1 has been downloaded successfully.",Toast.LENGTH_LONG).show();
                }

            } catch (IOException ex) {
                System.out.println("Error: " + ex.getMessage());
                ex.printStackTrace();
            } finally {
                try {
                    if (ftpClient.isConnected()) {
                        ftpClient.logout();
                        ftpClient.disconnect();
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }





}

インターネットの許可を追加しました:

<uses-permission android:name="android.permission.INTERNET"/>

注:PCのエミュレーターでアプリをテストしましたが、すべて問題ありませんでした。

デフォルトのブラウザからFTPにアクセスしようとするとアクセスできませんが、Firefoxからはアクセスできます。

助けてください

4

1 に答える 1

1

私も同じ問題を抱えています。デバイスではなくエミュレータで機能した場合は、ファイアウォールが邪魔になっている可能性があります。または、何らかの理由で十分なセキュリティが確保されていないため、ネットワークが接続を許可していません。また、FTPサーバーがユーザー名とパスワードからの接続を許可していることを確認してください。

于 2012-11-09T18:53:29.287 に答える