2017-04-07 65 views
0

FluentFTPライブラリのUploadFilesメソッドに問題があります。これは私のコードです:UploadFilesを呼び出すときに「ファイルを見つけることができません」というエラーが発生しました

var count = _client.UploadFiles(filesPaths, remotePath, true, true); 
foreach(var path in filesPaths) 
{ 
    AddLog(string.Format("Uploaded File: {0}", path)); 
} 

そしてUploadFilesを実行した後、それがファイルを見つけることができません言って例外がスローされます。私がremotePath = "/uploads"を使用したときに発見しましたが、この問題がありますが、remotePathを"/"に設定すると、このメソッドは問題なくファイルをアップロードします。私はユーザーのアクセス許可を確認し、彼はすべてを行うことができます。

私は何が問題か分かりません。私はGitHubのソースコードを読んで、何も変わっていない。

FluentFTPのバグですか?または私は何かを逃していますか?

+0

未来の読者はhttps://github.com/robinrodricks/FluentFTP/issues/70で、ライブラリの問題追跡にクロスポストが表示されるはずです。根本的な原因は、FTPサーバーのアクセス許可の問題でした。 –

答えて

0

フォルダ/アップロードが作成されていない場合、その例外が発生します。

オプション1:アップロード手動でフォルダを作成し、再び

オプション2試してください:使用

DirectoryExists() - ディレクトリがサーバー上に存在するかどうかを確認します。

CreateDirectory() - サーバー上にディレクトリを作成します。親ディレクトリの が存在しない場合は、作成されます。

0

宛先FTPディレクトリにファイルが含まれておらず、UploadFiles関数の3番目のパラメータのデフォルト値がFluentFTP.FtpExists.Overwriteであるため、ほとんどの場合、このエラーが発生します。この問題を解決するには、ディレクトリにファイルが含まれていないかどうかをチェックし、3番目のパラメータ値をFluentFTP.FtpExists.NoCheckに設定する必要があります。あなたの最後の呼び出しは次のようになります。

var count = _client.UploadFiles(filesPaths, remotePath, 
FluentFTP.FtpExists.NoCheck, true); 
関連する問題