C# ASP.NET FtpWebRequest - direkter Upload auf Server

Magnus1986

Lieutenant
Dabei seit
Juli 2005
Beiträge
754
Hallo!

Ich sehe momentan irgendwie den Wald vor lauter Bäumen nicht..
Anforderung:
Windows Server 2008 (IIS 7.5) läuft eine ASP.NET C# Seite über die man große Files (10GB+) hochladen muss. Mit "FileUpload" geht dies leider nicht, da es auf 2GB begrenzt ist. Nun wollte ich per FtpWebRequest hochladen..
Da habe ich nun das nächste Problem.. Dazu erst einmal der Code:
Code:
public void ftpfile(string ftpfilepath, string inputfilepath)
{
            string ftpfullpath = "ftp://" + ftpHost + ftpfilepath;
            FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
            ftp.Credentials = new NetworkCredential(ftpUser, ftpPassword);

            ftp.KeepAlive = true;
            ftp.UseBinary = true;
            ftp.Method = WebRequestMethods.Ftp.UploadFile;
            FileStream fs = File.OpenRead(inputfilepath);
            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();
}

ftpfile(@"/test.iso", @"C:\test.iso");
Da es eine serverbasierte Sprache ist, sucht das Programm nun also auf dem Server unter C:\test.iso nach der Datei, anstatt auf dem Client (wo ich den Browser geöffnet habe).
Wie kann ich der Seite nun sagen, dass mit "C:\test.iso" nicht der Server sondern der Client gemeint ist?

Danke schon mal!
 
L

lbm1305

Gast
Derzeit ist mir Struktur noch nicht ganz klar.

Deine ASP.NET Webseite ruft eine FTP-Verzeichnis auf?
Über die Webseite kann ein Benutzer eine Datei auswählen, die dann in das FTP-Verzeichnis geladen werden soll?

Falls dem so ist, wäre der Weg der Datei ähnlich dem:
Client ==> HTTP (Übertragen der Datei) ==> Webserver ==> FTP (Übertragen der Datei, die jetzt auf dem Webserver liegt) ==> FTP-Server

Besser wäre hier:
Client ==> FTP ==> FTP-Server
 
Zuletzt bearbeitet:
Top