Witam,
Mam takie pytanie, mianowicie napisałem funkcję która wysyła wskazany plik na serwer FTP.
Istnieje możliwość ustawienia atrybutów tego plik na 644 przed przesłaniem z poziomu kodu z c# ?
Z góry dziękuję za odpowiedź.
0
0
Przed wysłaniem nie, bo przecież uprawnienia są ustawiane po stronie serwera, to nie jest informacja przechowywana w pliku.
0
Dziękuję. O tym nie pomyślałem. A po wysłaniu jest taka możliwość z poziomu kodu c#? Z czego mógłbym skorzystać aby tego dokonać ?
0
A jak komunikujesz się z ftp?
0
Taką funkcję napisałem do wysyłania pliku:
public bool cWyślijPlikDoCBD(string sciezkaLokalna,string nazwaPliku, string host, string login, string haslo, out string cKomunikat)
{
try
{
if (host.StartsWith("ftp://"))
{
host.Replace("ftp://", "");
}
string sciezkaNaSerwerze = string.Empty;
sciezkaNaSerwerze = "ftp://" + host + "/" + nazwaPliku;
FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(sciezkaNaSerwerze);
ftp.Credentials = new NetworkCredential(login, haslo);
ftp.KeepAlive = true;
ftp.UseBinary = true;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(sciezkaLokalna);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpstream = ftp.GetRequestStream();
ftpstream.Write(buffer, 0, buffer.Length);
ftpstream.Close();
FtpWebResponse response = (FtpWebResponse)ftp.GetResponse();
string status = response.StatusDescription;
response.Close();
cKomunikat = "[cWyślijPlikDoCBD] Plik poprawnie wysłany do CBD"+ "\nStatus: " + status;
return true;
}
catch(Exception ex)
{
cKomunikat = "Błąd metody cWyślijPlikDoCBD: " + ex.Message;
return false;
}
}