• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

neuen Header übergeben

Hmm, habe das jetzt mal gemacht, will nicht so recht funktionieren.

Sieht folgendermaßen aus:

download.php
PHP:
<?php
$file = $_GET['filename'];

$f = file_get_contents($file);

header('Content-Type: application/x-download');
header('Content-Length: ' . strlen($f));
header('Content-Disposition: attachment; filename="'.$file.'"');
header('Cache-Control: private, max-age=0, must-revalidate');

echo $f;
?>

teil der index.htm
HTML:
$('download_button').href = "download.php&filename="+ds+"";

was hab ich nu wieder falsch gemacht?

ds ist übrigens meine variable in der der response gespeichert wird, also der Pfad zur Datei, sieht dann ungefähr so aus:

./img/56456468432486464621684564.jpeg
 
Download_button ist die ID vom Link (ich weiß, nen bissl falsch gewählt, aber egal)

will nicht funktionieren heißt dass er das angegebene Ziel schon wieder nicht finden kann
 
Ja, das habe ich, wieso?

Das gleiche Ziel benutze ich auch für die src im img tag, funktioniert tadellos, braucht der nen genaues Ziel, mit allem drum und dran oder wie?
 
Sorry wenn sich das jetzt frech anhört oder so, aber das werde ich ja wohl besser wissen als du :icon7:

Aber es ist so, ich speichere den Pfad, der in der Form so aussieht, in den response, und dann verändere ich nur das src attribut vom img tag indem ich die variable ds (wo ja der Inhalt vom response drin ist) halt als source angebe. Du kannst mir das ruhig glauben dass das funktioniert. Warum auch nicht? Ist ja schließlich nur ne Pfadangabe wie man sie normalerweise auch da reinschreiben würde, nur dass hier halt die quelle dynamisch ist.

Warum kann das deiner Meinung nach 100%ig nicht funktionieren?
 
Mit falsch kann ich leider nicht viel anfangen, was ist denn daran falsch? Wäre nett wenn du dich genauer ausdrücken könntest.

Danke nochmal bis jetzt.
 
Hier ist nen reales Beispil, so wie es auf dem server gespeichert wird:
20090305135926127.0.0.1.jpeg

das ist eine Datei, im Ordner img, welcher sich im Stammordner der Seite befindet. Der ganze Pfad sieht dann halt so aus: ./img/20090305135926127.0.0.1.jpeg

dieser Pfad wird als Response zurückgeschickt und in die Variable ds gespeichert. In einer Funktion, die bei erfolgreichem Request ausgeführt wird passiert folgendes:

HTML:
$('image').src = ds
$('download_button').href = "download.php&filename="+ds+"";
$('download_button').style.visibility = 'visible';

Die src wird ordnungsgemäß geladen, also ist der Pfad in Ordnung. Gleichzeitig wird auch der Link mit dem Pfad gefüttert.

diesen Pfad lese ich dann ja wieder im php script aus, über GET. Hmm, kann nicht so direkt verstehen warum das falsch ist. Tut mir Leid
 
Weiter oben schriebst du:
Das gleiche Ziel benutze ich auch für die src im img tag, funktioniert tadellos, braucht der nen genaues Ziel, mit allem drum und dran oder wie?

und jetzt zeigst du, dass das nicht so ist.

Das: ./img/20090305135926127.0.0.1.jpeg
ist was komplett anderes als: href = "download.php&filename="+ds+"";

Dann behauptest du, der Pfad wird zurückgeliefert, wie hast du das kontrolliert? Weil ich bezweifle das das so ist, da du das Skript gar nicht ansprichst auf dem Server.
 
1. schaut' deine Struktur so aus?
Root
|_______>index.php (Die Seite, in der alles läuft)
|_______>download.php
|_______>img
|_______>20090305135926127.0.0.1.jpeg

2. probier' doch mal
Code:
$('download_button').href = "download.php?filename="+encodeURIComponent(ds)+"";

PS: Hab' gerade deinen Fehler gesehen - "?" nicht "&" um den Query-String einzuleiten. Sollte also ev. auch ohne encodeURIComponent funktionieren.
 
Weiter oben schriebst du:

und jetzt zeigst du, dass das nicht so ist.

Das: ./img/20090305135926127.0.0.1.jpeg
ist was komplett anderes als: href = "download.php&filename="+ds+"";

Dann behauptest du, der Pfad wird zurückgeliefert, wie hast du das kontrolliert? Weil ich bezweifle das das so ist, da du das Skript gar nicht ansprichst auf dem Server.

Aso meinst du das, ok. Musste ja das Script ansprechen, deswegen habe ich dann den Pfad per GET mit hinten drangehängt. Gut, dummer Fehler den ich da mit dem '?' gemacht hab (Dank an KKapsner.)

meine Struktur sieht dann in etwa so aus:

ROOT
|________> img
|________>20090305135926127.0.0.1.jpeg
|________>.....


|________>index.htm
|________>....

Im Ordner img werden alle Bilder gespeichert, sind dementsprechend mehrere drin. Im Root sind dann halt alle anderen Datein für die Seite drin, die ganzen PHP Scripte, Stylehsheet usw.

@einSchlauer: Wenn ich sage dass ich das Script dass meine Bilder generiert per AJAX Request ansteuere, und die Daten dort hin geliefert werden, das Bild generiert wird und im Browser angezeigt wird, dann impliziert dass doch dass ich das Script ansprechen muss oder? Woher ich nun weiß dass der Pfad zurückgeliefert wird? Hat mir der FireBug gezwitschert, außerdem wird das generierte Bild angezeigt, also muss ja ein Pfad da sein, oder nicht? Der Browser kann ja schlecht meine Gedanken lesen um zu wissen welche Datei geladen werden muss.

@kkapsner: werde das mal versuchen, ganz übersehen dass ich da nen & reingezaubert hab.

@kkapsner teil 2: Ja, die Struktur stimmt, blöd dass hier keine richtige Formatierung zugelassen wird....
 
Gut, nachdem ich das & durch ein ? ersetzt hab funktioniert es jetzt tadellos.

Danke an alle nochmal, habt mir sehr geholfen.
 
@einSchlauer: Wenn ich sage dass ich das Script dass meine Bilder generiert per AJAX Request ansteuere, und die Daten dort hin geliefert werden, das Bild generiert wird und im Browser angezeigt wird, dann impliziert dass doch dass ich das Script ansprechen muss oder? Woher ich nun weiß dass der Pfad zurückgeliefert wird? Hat mir der FireBug gezwitschert, außerdem wird das generierte Bild angezeigt, also muss ja ein Pfad da sein, oder nicht?
Mir ist schon klar was du machen willst, das alles dürfte auch kein Problem sein.

Aber mir sind deine Ausführungen ein Rätsel, du hast uns doch die ganze Zeit gesagt es geht nicht. Und jetzt sagst du es geht doch?
Und nein - der Pfad konnte nicht zurückgeliefert werden, da du den Parameter falsch abgetrennt hast, wurde das Skript nicht aufgerufen, keine Ahnung was dir da Firebug gezwitschert hat.
 
Dann haben wir ein wenig aneinander vorbeigeredet, ich dachte du redest davon dass der Pfad nicht von meinem Script welches das Bild generiert an die index.htm gesendet wird.

Ja, wie gesagt, er einzige fehler war dass ich halt das & und nicht das ? geschrieben habe.

Egal, nu funktionierts, das is die hauptsache, danke an alle.
 
Zurück
Oben