FTP, zmiana/ustawienie atrybutów pliku

0

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

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;
            }
	     }

1 użytkowników online, w tym zalogowanych: 0, gości: 1