CFtpConnection. FTP Datei schreiben wenn schreibgeschützt/geöffnet
-
Hallo,
ich versuche Dateien per FTP auf einen Server hochzuladen. Alls klappt bisher prima, nur ein Problem bleibt.
Wenn eine Datei auf dem Server schreibgeschützt oder geöffnet ist, dann wird zwar alles korrekt gesendet, aber ich bekomme nicht mit, dass die Dateien nicht aktaulisiert wurden.Wie kann ich jetzt feststellen ob eine Datei schreibgeschützt/geöffnet ist bzw. dass nicht geschrieben werden kann?
pIF = NULL; pMain->m_szaCopiedFiles.Add(sDirFile); try { pIF = pMain->m_pFTP->OpenFile(sFile, GENERIC_WRITE, FTP_TRANSFER_TYPE_BINARY); } catch(CInternetException* e) {...} ... try { pIF->Write(Buffer, uiReadBytes); } catch (CInternetException* e) {...}
Es wird hierbei weder eine Exception geworfen noch ein anderer Fehler gemeldet.
Kann ich eventuell vor dem Senden irgendwie die Attribute auslesen?Vielen Dank.
-
Hallo
Soweit ich weis wird dass nicht vom FTP-Protokoll unterstützt.
Die CFtpConnection Klasse gaukelt dir nur vor das du eine Datei öffnen kannst.
In Wirklichkeit wir eine Kopie der Datei lokal gespeichert, die dann geöffent wird.
Die Datei am FTP-server kann dann sofort wieder von anderen Clients bearbeitet werden.
-
Hallo,
aha, danke für den Tipp.
Gibt es dann eine andere Möglichkeit, soetwas zu überprüfen?
Ich könnte noch per telnet Protokoll drauf zugreifen.
Mittels "attrib" kann ich zwar in der Konsole die Attribute auslesen, aber wie mache ich denn das per C++ aus einem eigenen Programm?
-
Es gibt doch FTPCommand. Damit führst Du "chmod [rights] [filename]" aus.