0

PDFファイルをftpサーバーにアップロードしようとしています。私のコードは次のようなものです:

public void pdfUpload(String ticket, JLabel message) {     

FTPClient client = new FTPClient(); 
        FileInputStream fis = null;
        try {
            client.connect("www.mydomain.com", 21);
            client.login("user", "userpass");


            client.setFileType(FTP.BINARY_FILE_TYPE); // optional


            String FileName = ticket.replace("/", "_");
            File fil = new File("pdf\\"+FileName+".pdf");
            message.setText(FileName+".pdf is being uploaded... Please wait" );
            fis = new FileInputStream(fil);

            String remoteFile = fil.getName();
            client.storeFile(remoteFile, fis);
            client.logout();
            message.setText("File Uploaded sccessfully");
        } 

        catch (IOException e) {
            message.setText("Failed to upload pdf file"+e);
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
                client.disconnect();
            } catch (IOException e) {
            message.setText("Failed to upload pdf file");
            }
        }    
}

メソッドは、ファイルがアップロードされたことを示しています。メソッドは正常に実行されます。完了メッセージを表示します。しかし、ftpでファイルが見つかりません。ファイルがアップロードされていないことを意味します。私のコードの何が問題なのですか。助けてください。

4

2 に答える 2

0

ファイル パスがリモート システムでファイル名として有効でないように見えるか、ファイル パス名の形式に基づいて期待どおりに保存されていません。リモート システムに保存するときは、"pdf\\" プレフィックスを付けずにファイル名だけを使用してみてください。

于 2013-10-27T01:38:56.797 に答える
0

ログイン後に enterLocalPassiveMode を呼び出してみてください。

FTP サーバーは予測不可能な小さな怪物なので、さまざまな原因が考えられますが、私にはそのような匂いがします。

于 2013-10-27T01:29:24.873 に答える