Laden...

Internetseite kriegen und speichern

Erstellt von nasir vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.103 Views
N
nasir Themenstarter:in
16 Beiträge seit 2006
vor 17 Jahren
Internetseite kriegen und speichern

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. 😁 👍

563 Beiträge seit 2004
vor 17 Jahren

reicht dir die Funktionalität im Internetexplorer/Firefox nicht aus?!

2.921 Beiträge seit 2005
vor 17 Jahren

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.

N
nasir Themenstarter:in
16 Beiträge seit 2006
vor 17 Jahren

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
fr 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 fr '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
822 Beiträge seit 2005
vor 17 Jahren

webClient liegt im System.Net

sbertl

N
nasir Themenstarter:in
16 Beiträge seit 2006
vor 17 Jahren

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 fr 'RemoteURI'
822 Beiträge seit 2005
vor 17 Jahren

RemoteURI ist ja ein Namespace keine Variable oder Eigenschaft

sbertl

N
nasir Themenstarter:in
16 Beiträge seit 2006
vor 17 Jahren

Original von sbertl000
RemoteURI ist ja ein Namespace keine Variable oder Eigenschaft

sbertl

Ja klar, du siehst ja auch das ih das als Namespace gemacht hatte, nur das der Compiler diese Meldung gibt. 🙁

822 Beiträge seit 2005
vor 17 Jahren
Debug.WriteLine("Download der Datei " + this.RemoteURI + " nach " + Path.GetFullPath(localFileName));  

Die Fehlermeldung lautet ja:

'RemoteURI.Linker' enth„lt keine Definition fr '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

N
nasir Themenstarter:in
16 Beiträge seit 2006
vor 17 Jahren

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
822 Beiträge seit 2005
vor 17 Jahren

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