Hi, ich wollte eine C# Datei erstellen, die nach Eingabe einer Datei vom Internet laden soll und es abspeichert.
leider kenne ich den Befehl da zu nicht.
Ich weiß wie ich ein Ordner erstelle (seit diesem Tutorial [Tutorial] Alles über Dateien ) habe kein blassen Schimmer wie ich nach im Ordner die von Internet geladene Datei speichere.
Die Datei sollte zumindest eine freie Datei sein, die man von Gästen downloaden kann.
hoffe das mir einer helfen kann. 🤔
PS. das Forum ist ja richtig geil, ich bin sehr begeistert. 😁 👍
reicht dir die Funktionalität im Internetexplorer/Firefox nicht aus?!
Hallo Nasil,
willkommen im Forum
wenn ich das richtig verstanden habe, dann willst du ca. folgendes machen:
private void Download()
{
string localFileName = "stream"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day+"_"+DateTime.Now.Hour+"_"+DateTime.Now.Minute+"_"+DateTime.Now.Second;
WebClient client = new WebClient();
Debug.WriteLine("Download der Datei " +
this.RemoteURI + " nach " + Path.GetFullPath(localFileName));//RemoteURI durch Deine Internet-URL ersetzen
// Download durchführen.
client.DownloadFile(this.RemoteURI, localFileName);
}
diese Zeile
client.DownloadFile(this.RemoteURI, localFileName);
lädt dein File z.B. von www.google.de/index.html nach localFileName herunter.
Du könntest also genauso schreiben:
WebClient client = new WebClient();
client.DownloadFile("www.google.de/index.html",@"c:\test.txt");
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.
Sorry muss ehrlich gesagt zugeben dass schon etwas weiter als mein Verständnis geht. Ich habe momentan nur Variablen, Verzweigungen, Arrays, Schleifen und Fehlerverarbeitung. Ich tu mein bestes und versuche gerade Methoden, Klassen und Eigenschaften zu lernen.
Mein Programm sieht so aus.
using System;
using System.IO;
using System.Windows.Forms;
namespace client
{
public class Linker
{
private void Download()
{
string localFileName = "stream"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day+"_"+DateTime.Now.Hour+"_"+DateTime.Now.Minute+"_"+DateTime.Now.Second;
WebClient client = new WebClient();
Debug.WriteLine("Download der Datei " + this.RemoteURI + " nach " + Path.GetFullPath(localFileName));//RemoteURI durch Deine Internet-URL ersetzen
// Download durchführen.
client.DownloadFile("www.google.de/index.html",@"c:\test.txt");
}
}
}
Es tauchen nur noch Namespace Fehler auf und der Compiler schlägt immer Alarm. 🙁
Ich werde langsam verrückt wegen den Namespace. >_<
Microsoft (R) C#-Compilerversion 7.00.9466
fr Microsoft (R) .NET Framework Version 1.0.3705
Copyright (C) Microsoft Corporation 2001. Alle Rechte vorbehalten.
Kopie von Neu Textdokument.cs(13,4): error CS0246: Der Typ oder Namespace 'WebClient' konnte nicht gefunden werden. M”glicherweise fehlt eine Anweisung oder ein Assemblyverweis.
Kopie von Neu Textdokument.cs(14,44): error CS0117: 'client.Linker' enth„lt keine Definition fr 'RemoteURI'
Kopie von Neu Textdokument.cs(17,4): error CS0234: Der Typ oder Namespacename 'DownloadFile' ist in der Klasse oder dem Namespace 'client' nicht vorhanden (fehlt ein Assemblyverweis?)
Prozess beendet mit Exit-Code 1
EDIT: Achja, wenn ich den Code Verändere in
using System;
using System.IO;
using System.Windows.Forms;
namespace client
{
private void Download()
{
string localFileName = "stream"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day+"_"+DateTime.Now.Hour+"_"+DateTime.Now.Minute+"_"+DateTime.Now.Second;
WebClient client = new WebClient();
Debug.WriteLine("Download der Datei " + this.RemoteURI + " nach " + Path.GetFullPath(localFileName));//RemoteURI durch Deine Internet-URL ersetzen
// Download durchführen.
client.DownloadFile("www.google.de/index.html",@"c:\test.txt");
}
}
kommt der Fehler
Kopie von Neu Textdokument.cs(6,2): error CS0116: Ein Namespace enth„lt nicht direkt Elemente, wie z.B. Felder oder Methoden
geändert in
using System;
using System.IO;
using System.Windows.Forms;
using System.Net;
namespace RemoteURI
{
public class Linker
{
private void Download()
{
string localFileName = "stream"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day+"_"+DateTime.Now.Hour+"_"+DateTime.Now.Minute+"_"+DateTime.Now.Second;
WebClient client = new WebClient();
Debug.WriteLine("Download der Datei " + this.RemoteURI + " nach " + Path.GetFullPath(localFileName));//RemoteURI durch Deine Internet-URL ersetzen
// Download durchführen.
client.DownloadFile("www.google.de/index.html",@"c:\test.txt");
}
}
}
Kopie von Neu Textdokument.cs(15,43): error CS0117: 'RemoteURI.Linker' enth„lt keine Definition fr 'RemoteURI'
RemoteURI ist ja ein Namespace keine Variable oder Eigenschaft
sbertl
Original von sbertl000
RemoteURI ist ja ein Namespace keine Variable oder Eigenschaftsbertl
Ja klar, du siehst ja auch das ih das als Namespace gemacht hatte, nur das der Compiler diese Meldung gibt. 🙁
Debug.WriteLine("Download der Datei " + this.RemoteURI + " nach " + Path.GetFullPath(localFileName));
Die Fehlermeldung lautet ja:
'RemoteURI.Linker' enth„lt keine Definition fr 'RemoteURI'
Im Quellcode verweist du mit this.RemoteURI auf eine Eigenschaft/Variable in der Klasse Linker die aber nicht existiert, RemoteURI ist wie gesagt der Namespace und Linker die Klasse und in dieser ist nichts namens RemoteURI.
sbertl
ok, jetzt habe ich das this.RemoteURI weg gemacht und debug.WriteLine mit Console.WriteLine ersetzt.
using System;
using System.IO;
using System.Windows.Forms;
using System.Net;
namespace RemoteURI
{
public class Linker
{
private void Download()
{
string localFileName = "stream"+DateTime.Now.Year+"_"+DateTime.Now.Month+"_"+DateTime.Now.Day+"_"+DateTime.Now.Hour+"_"+DateTime.Now.Minute+"_"+DateTime.Now.Second;
WebClient client = new WebClient();
Console.WriteLine("Download der Datei [URL]www.google.de/index.html[/URL] nach " + Path.GetFullPath(localFileName));//RemoteURI durch Deine Internet-URL ersetzen
// Download durchführen.
client.DownloadFile("www.google.de/index.html",@"c:\test.txt");
}
}
}
Jetzt kommt aber das Problem:
error CS5001: Das Programm 'link.exe' hat keinen Einstiegspunkt definiert
jedes programm muss eine statische Main Methode besitzen, wenn du dich noch in C# einarbeiten musst dann siehe hier: http://www.mycsharp.de/guide/home/index.html?http%3A//www.mycsharp.de/guide/home/home.html
sbertl