cejcay03
Goto Top

Server oder Laufwerk, welches von allen durch Programm bearbeitet werden kann

Hallo,
mein Ziel ist es, durch ein in C# geschriebenes Programm Dateien auf einem Server zu uploaden, zu bearbeiten und zu downloaden.
Dies soll von jedem Rechner mit Internetzugang möglich sein und ohne tiefgehende Veränderungen am System möglich sein (keine VPN connection o.ä.).
Es soll also im Prinzip ein Netzwerklaufwerk sein, welches nicht nur von PCs im eigenen Netzwerk bearbeitet werden kann.
Ich habe es bereits mit einem http-Server versucht, download ist kein Problem, jedoch ist dort kein Upload oder Bearbeitung möglich.

Vielen Dank schon einmal im voraus für die Antworten.
mfG cej03

Content-Key: 393940

Url: https://administrator.de/contentid/393940

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: 129580
129580 26.11.2018 aktualisiert um 22:10:03 Uhr
Goto Top
Hallo,

ein File lässt sich problemlos mit HTTP transferieren. Du brauchst dazu die HTTP Post Methode.
Als Encoding Type nimmst du application/octet-stream. Die Datei selbst wird dann mit einem Bytestream übertragen.

Hier mal ein C# Beispiel:
https://stackoverflow.com/questions/1131425/send-a-file-via-http-post-wi ...

Testen kann man die Request übrigens ganz einfach mit einem HttpClient z.B. Postman.

Falls du noch Fragen oder Probleme hast, dann bitte mal eine ausführlichere Beschreibung zu deinen Vorhaben und zu deinem aktuellen Problem. Ebenso bitte auch dein aktuellen Code posten. Mit nur oberflächlichen Aussagen wie " jedoch ist dort kein Upload oder Bearbeitung möglich. " kann dir hier keiner weiterhelfen. Und auf Ratespiele haben hier vermutlich die wenigsten Zeit noch Lust.... face-wink

Beispiel:

mein Ziel ist es, durch ein in C# geschriebenes Programm Dateien auf einem Server zu uploaden, zu bearbeiten und zu downloaden.
Es soll also im Prinzip ein Netzwerklaufwerk sein, welches nicht nur von PCs im eigenen Netzwerk bearbeitet werden kann.

Das heißt das Share existiert schon auf das der Client zugreifen soll?
Oder gibt es neben der Client Software noch eine separate Server Software die den Share bereitstellt?

Ich vermute mal letzteres weil du ja folgendes schriebst:

Ich habe es bereits mit einem http-Server versucht

Also was nun?!

Viele Grüße
Exception
Mitglied: manuel-r
manuel-r 26.11.2018 um 22:57:50 Uhr
Goto Top
Dies soll von jedem Rechner mit Internetzugang möglich sein und ohne tiefgehende Veränderungen am System möglich sein (keine VPN connection o.ä.). Es soll also im Prinzip ein Netzwerklaufwerk sein, welches nicht nur von PCs im eigenen Netzwerk bearbeitet werden kann.

Gibt's schon. Nennt sich WebDAV. Zumindest hört sich dein Vorhaben ganz stark danach an.

Manuel
Mitglied: StefanKittel
StefanKittel 27.11.2018 um 06:33:39 Uhr
Goto Top
Moin,

dafür gibt es viele Wege.
Immer davon ausgehend, dass Du den Server beliebig konfigurieren und programmieren kannst.
Stichwort sind: http(s) Post, Webdav, FTP, TCP/UDP Socket, SMB Share.

Vieleicht wäre ein NextCloud-Server etwas für Dich.
Lässt sich einfach bei jedem Hosting-Paket installieren und bring einen webdav-server gleich mit.

Stefan
Mitglied: erikro
erikro 27.11.2018 um 08:36:13 Uhr
Goto Top
Moin,

warum nutzt Du nicht eine der gefühlt eine Millionen Clouds, die es an jeder Ecke umsonst gibt?

Liebe Grüße

Erik
Mitglied: cejcay03
cejcay03 27.11.2018 um 13:57:53 Uhr
Goto Top
Ich habe bereits einen Windows Server 2016 laufen.
Der Code für den download sieht folgendermaßen aus:

using (var client = new WebClient())
{
client.DownloadFile("http://example.com/test.txt", "C:\test.txt");
}

Das funktioniert auch ohne Probleme. Diese test.txt soll nun jedoch auch wieder, nach Bearbeitung hochgeladen werden und die andere test.txt ersetzen.
Wenn ich es jetzt jedoch mit "client.UploadFile" versuche funktioniert es nicht.
Mitglied: 129580
129580 27.11.2018 aktualisiert um 14:47:54 Uhr
Goto Top
Hallo,

leider gehst du nicht auf die Fragen ein. Genauso wenig hast du eine genaue Beschreibung deines Vorhabens bzw. Problems gemacht.
Arbeitest du bei einem Geheimdienst und ist dein Vorhaben daher Top Secret weshalb du uns die Infos vorenthalten möchtest?
So können wir dir nicht helfen....

Wenn ich es jetzt jedoch mit "client.UploadFile" versuche funktioniert es nicht.

und was heißt das nun? Kommt ein Fehler? Was sagt der Debugger?

Kann es sein dass du noch recht neu in der Programmierung bist? Wenn ja, dann bitte mal ein vollständigen Code posten und nicht nur ein Code Schnipsel. Denn mit diesen können wir relativ wenig anfangen. Insbesondere da du uns auch nicht das Framework oder Library genannt hast, wo die Klasse " WebClient" enthalten ist.

So können wir nur sagen: schau in die API Referenz, denn du hast sicherlich die Methode falsch implementiert.

P.S: Bitte verwende die Code Tags! Das ist im Editor dieser schöne Button "</>". Damit wird das ganze deutlich übersichtlicher....

Viele Grüße
Exception