使用FTPClient for .NET 2.0。
我正在连接到vsftpd服务器并且我能够编写该文件,但我无法运行该命令。我已经提供了以下代码。
当我使用命令提示符登录到ftp服务器时,我也能够运行QUOTE SITE chmod命令。我有一个200 SITE CHMOD命令ok。
这是服务器上的配置设置吗?
ftpClient.Connect();
string ftpLoc = folder + fileName;
using (var fileStream = File.OpenRead(localFile))
using (Stream ostream = ftpClient.OpenWrite(ftpLoc))
{
try
{
var buffer = new byte[8 * 1024];
int count;
while ((count = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
ostream.Write(buffer, 0, count);
}
FtpReply reply;
if (!(reply = ftpClient.Execute("SITE chmod 775 " + fileName)).Success)
{
throw new FtpCommandException(reply);
}
}
catch (Exception e)
{
logSW.WriteLine("ftp error: " + e.InnerException + " | " + e.Message);
return e.Message;
}
}
答案 0 :(得分:0)
这可能取决于您的登录方式。
来自VSFTPD configuration manpage
chmod_enable
启用后,允许使用SITE CHMOD命令。 注意!这仅适用于本地用户。匿名用户永远不会使用SITE CHMOD。
Default: YES