Upload auf Webserver

Und wieder mal hab ich ne Frage… :smile: Vielleicht hat diesmal jemand ne Antwort für mich…

Ich suche ein (möglicht einfaches) Script, dass mir den Upload von Dateien ermöglicht… Extras bau ich dann selbst ein… Naja, eigentlich kann ich mir das Script auch selbst machen, hab ich auch, aber bekomme ständig den Fehler, dass der Pfad net gefunden wurde… was in soweit logisch is, da ich nämlich keine Ahnung hab, wie das Ding den lokalen Quellpfad von dem phys. Speicherort auf dem Server auseinander halten soll?

Ich hab halt den lokalen Pfad und als Zielpfad MUß ich doch den PHYSIKALISCHEN Speicherort angeben, irgendwelche Servernamen, etc. scheinen net zu funktioneren… aber so gehts jawohl auch net…

Würd mich deshalb über HILFE freuen, ihr seht, was das betrifft, bin ich schon a bissel verwirrt, hab wohl heut zu lang vor dem Ding gesessen…

DANKE - Jens

Ich suche ein (möglicht einfaches) Script, dass mir den Upload
von Dateien ermöglicht… Extras bau ich dann selbst ein…
Naja, eigentlich kann ich mir das Script auch selbst machen,
hab ich auch, aber bekomme ständig den Fehler, dass der Pfad
net gefunden wurde… was in soweit logisch is, da ich nämlich
keine Ahnung hab, wie das Ding den lokalen Quellpfad von dem
phys. Speicherort auf dem Server auseinander halten soll?

Ich hab halt den lokalen Pfad und als Zielpfad MUß ich doch
den PHYSIKALISCHEN Speicherort angeben, irgendwelche
Servernamen, etc. scheinen net zu funktioneren… aber so
gehts jawohl auch net…

Richtig, und den physischen Pfad bekommst Du ja mit Server.Mappath
Es gibt da auch schon fertige Upload-Skripts, guck mal bei google, aspheute.com, 4guysfromrolla.com, aspfaq.de/com und wie sie alle heißen :wink:

mfg. Kevin.


IIS Installed Components Check:
http://www.bier-voting.de/objcheck

Richtig, und den physischen Pfad bekommst Du ja mit
Server.Mappath

Genau, so hab ich das auch gemacht, es funktioniert auch… ABER: Zum Testen hab ich den Server ja aufm gleichen Rechner, an dem ich auch Programmiere und folglich auch diesen Upload getestet hab… wie gesagt, es funktioniert, aber ich kann mir net vorstellen, dass es auch von anderen PCs aus funktioniert, immerhin muß doch der Server zwischen lokalem Pfad und ein Pfad aufm anderen PC unterscheiden können?! Beispiel:

Eine Datei wird von Host_A zu Server_1 kopiert. Die Datei auf Host_A ist: C:\Test.txt, das Ziel liegt auf Server_1 im Verzeichnis „Uploads“… So, und wenn ich jetzt den phy. Pfad ermittele, dann könnte der doch z.B. D:\Uploads\ sein —> d.h. wo steckt den hier ne Angabe drin, dass dies ein Laufwerk des SERVERS is… er könnte das doch genau so gut interpretieren, dass sowohl Quelle als auch Ziel bei ihm auf der Platte liegen, bzw. beim Client liegen??? Verstehst du was ich meine?

Versteh ich da was falsch?! Ich hab’s noch net getestet, vielleicht funktionierts ja, aber wenn, dann versteh ich die Logik net?!

JENS

Ein User will eine Datei „C:\User-Dateien\datei.txt“ (die er dann perFormularfeld auswählt) von seinem Client-Rechner XYZ über dein Skript auf deinen Server hochladen.

Deine Webseite http://www.deine-seite.de liegt im z.B. Ordner „d:\inetpub\deine-website.de\http“. Dieser Pfad muss ja dan auch im IIS (oder sonst ein Webserver angegeben sein. Und genau dieser Pfad wird durch Server.MapPath auch hinzugefügt. Wenn du also in deinem Skript die Datei unter Server.MapPath("\uploads") speicherst, dann speichert sie der Server unter „d:\inetpub\deine-website.de\http\uploads“!

Theoretisch könnte man den Pfad auch direkt angeben. Mit Server.Mappath ist die Speicherung dann aber Serverunabhängig. Du musst den Pfad so auf von einem Entwicklungsserver und nachher auf dem richtigen Webserver nicht mehr ändern, da du den absoluten Pfad ja durch Server.Mappath nicht mehr kennen musst.

Ich hoffe das war einigermaßen verständlich…

na das is mir schon klar… aber weder in deinem Quellpfad noch in deinem Zielpfad steckt eine Angabe des Computernamens… Folglich weiß der Server net von wo die Datei kommt und ob der Pfad bei ihm liegt (also lokal) oder vom Client kommt… zumindest ist das so bei Kopierfunktion beim FileSystemObject…

JENS

Ich weiss zwar nicht genau was du meinst, aber…

Bei einem Upload auf den Server kommt die Datei qausi vom Bowser des Clients. Und da ist es ja völlig egal wo der Clientbrowser „herkommt“. Der User gibt eine Datei im Formularfeld ein, bzw. wählt sie aus und diese wird an den Server, bzw. halt das enstprechende Serverskript übermittelt. Das Serverskript erhält zwar die Datei, weiss aber nicht wo die Datei auf dem Client-Rechner gelegen hat und muss es ja auch gar nicht wissen. Ist völlig egal ob die Datei irgendwo in Amerika oder lokal von deinem Testserverhochgeladen wird.

Nochmal en Versuch

na das is mir schon klar… aber weder in deinem Quellpfad
noch in deinem Zielpfad steckt eine Angabe des
Computernamens…

Beim Quellpfad ist es - wie gesagt schon - eigentlich völlig egal, der Browser überträgt die Datei vom Client zum Server und der kann dann machen was er/du damit will/st. Und beim Zielpfad ist der Computernamen überflüssig. Auf dem Serverrechner, auf dem das Skript läuft, auf den beziehen sich halt dann die Pfadangaben. Du gibts ja in z.B. der Kommandozeile auch nur z.B. „cd c:\inetpub\uploads“ ein.

Folglich weiß der Server net von wo die
Datei kommt und ob der Pfad bei ihm liegt (also lokal) oder
vom Client kommt…

Muss er eigentlich wie gesagt auch nicht wissen, hauptsache er hat die Datei erhalten.
Wenn du morgen 100.000 Euro im Briefkasten findest, ist es dir (praktisch) ja auch egal woher sie kommen, hauptsache du hast sie :wink:

Na du bist witzig, genau sowas will ich doch programmieren… Genau das Teil, was erstmal die Datei auf den Server bringt… So wie du das beschreibst, scheinst du irgendwelche zusätzlichen Komponenten zu benutzen, aber ich nutze nur die Standart-Komponenten, die man nach der Installation zu Verfügung hat… Oder kannst du mir ne EINFACH zu bedienende Upload-Komponete empfehlen??? Komplizierte Dinger, wo ich sonst noch welche unnötigen Sachen angeben muß, kann ich leider net gebrauchen…

JENS

Ach sodele. Dann habe ich mich ja umsonst angestrengt:wink:

Habe dir ein Mail geschickt, mit zwei ASP-Upload-Komponenten. Kannst sie ja mal ausprobieren, sind ziemlicu einfach und doch erweiterbar.

Oder einfach unter http://www.aspin.com suchen…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]