Bosi Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 Hi, ich hoffe das dies hier her gehört. ich bin ein absoluter anfänger was javascript betrifft und will gern einen Dateidownload anbieten von bestimmten dateien. hierbei hilft aber kein normler <a href... befehl. ich habe einige dateien auf meinen linuxwebserver welche z.b. keine dateierweiterungen besitzen. diese möchte ich gern als download anbieten fürs intranet. leider zeigt mir der IE immer nur den inhalt der datei an. ich möchte aber das wenn der nutzer auf den link klickt, diese datei gedownloaded wird und nicht deren inhalt angezeigt wird und zwar ohne rechte maustaste und ziel speichern unter. ich habe gehört üebr javascript wäre dies möglich. kann mir da einer helfen? und meine zweite frage wäre, müssen die dateien im documentroot unbedingt sein oder gibt es ein möglichkeit des linkens von dateien die außerhalb des documentroot sind. für hilfen oder tipps wäre ich sehr dankbar. mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 ich hoffe das dies hier her gehört. Wohl eher in Fachliches/Webdesign leider zeigt mir der IE immer nur den inhalt der datei an. ich möchte aber das wenn der nutzer auf den link klickt, diese datei gedownloaded wird und nicht deren inhalt angezeigt wird und zwar ohne rechte maustaste und ziel speichern unter. ich habe gehört üebr javascript wäre dies möglich. kann mir da einer helfen? Wäre mir neu, ich würde eher sagen, dass Du sowas nur serverseitig realisieren kannst, indem Du den entsprechenden Content-Type-Header vorrausschickst... und meine zweite frage wäre, müssen die dateien im documentroot unbedingt sein oder gibt es ein möglichkeit des linkens von dateien die außerhalb des documentroot sind. Auch das ist nur serverseitig realisierbar, wenn der Parser Zugriff darauf hat... Ansonsen hilft die Anpassung des Webservers, so dass Du z.B. einen Alias auf das Verzeichnis mit den Dokumenten ausserhalb des DocumentRoot einrichten kannst... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 kannst du mir sagen wie das geht mit dem type header vorrausschicken oder mir nen guten link dazu geben? wie gesgat bin nen neuling... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 ich habe mal eine textdatei namens test.ict verlinkt. nun problem ist, das der browser diese als textdatei interpretiert und somit anzeigt statt downzuloaden. ich habe mal in meine httpd.conf geschaut und den eintrag defaulttype text/plain gefunden. dies sagt ja dem server wenn du ni weißt was das für ne datei is dann interpretiere sie als textdatei oder? jedenfalls half ein ausklammern des eintrags auch nichts. was muß ich den tun, damit er solche dateiennicht als textdatei interpretiert und die somit downloaded? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 in der httpd.conf oder .htaccess: AddType mimetype/mimesubtype erweiterung z.b. AddType application/pdf pdf im php-script: header("Content-Type: mimetype/mimesubtype"); z.b. header("Content-Type: application/pdf"); EDIT: "AddType text/plain ict" sollte funktionieren, allerdings wird der text dann vermutlich IM browser angezeigt und nicht als attachment mit "speichern unter" geöffnet - dazu sind noch weitere header nötig (ich glaube, "Content-Disposition: attachment"). s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 Also ich habe in meiner httpd.conf mal den type application/zip .ict eingefügt in der hoffnung erwürde diese datei als zip interpretieren und dann downloaden. leider auch ohne erfolg, wird immer als textdatei angesehen. in meinem script steht übrigens folgendes: <form action="pfad" mome-type="apllicaton/zip"<input type="submit" value="download"/></form> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 ich hab bei selfhtml was gefunden, evtl. hilft es dir. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 danke für den link. konnte man viele nützlich infos finden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 konntest du das problem jetzt lösen?? warn nur gute infos oder hats auch was gebracht?? sag was du jetzt gemacht hast... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 sorry, also da gab es verschiedene unterschiedliche meinungen ob das überhaupt realisierbar ist da der IE nicht nur auf die Dateiendungen schaut. somit gabs die unterschiedlichsten und kompliziertesten lösungsvorschläge. Bei mir hats jetzt funktioniert. habe in der httpd.conf nen neuen mime type angegeben. AddType application/x-save .ict das reichte schon. nun einfach ein <a href link gesetzt und schon erkannte der IE die *.ict als ict-Dokument und konnte die nicht anzeigen und gibt somit die auswahl ob man schließen oder speichern will. leider muß meine datei weiterhin im documentroot verharren. habe dazu noch keine lösung gefunden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 wieso kannst du die datei nicht hinlegen wo du willst?? da musst du doch nur den pfad von href ändern oder nicht? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 <Directory /pfad/zu/doc/dir/> Options -Indexes AllowOverride All </Directory> Alias /docs/ /pfad/zu/doc/dir/ Dann müsste es damit gehen: <a href="http://www.server.de/docs/document.ict">Dokument</a> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 danke Monty. genau das ist es. verdammt hätte man auch selber drauf kommen können. hat einer vielleicht noch ne idee (um es noch interessanter zu gestalten) wie man den link dynamisch gestalten kann? also eine variable mit dem pfad und der datei eingeben und im link dann diese variable auswerten und auf deren wert zu verweisen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 Wie Du meinen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 naja ich habe nen CGI script und da darüber stelle ich dann eine telnetverbindung her, führe nen befehl aus und zeige das ergebnis im browserfenster an also die gebildete Datei. der nutzer kann aber ich sage mal verschiedene projekte auswählen mit dem das bashprogramm auf dem linuxserver läuft. somit ergibt sich immer eine andere datei. also <projektname>.ict und dieser projectname steht in einer variablen und nun wäre es einfach den link auf die variable zu legen. also sowas wie <a href="../pfad/'$proj'.ict> oder sowas. weißte was i meine? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 wie du das speichern willst weiß ich nicht also den pfad in eine variable... du müsstest ein neues fenster öffen und mit javascript ausgeben. da kannst du dann "dynamisch" den wert anzeigen... wenn du weißt was ich mein ok... wenn nicht sag bescheid dann erklär ich meinen gedankengang... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 sorry aber das mußte mir echt erklären. komme ich nicht ganz mit. javascript bin ich noch in den kinderschuhen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 du wählst aus der liste das Projekt. du machst die telnet verbindung und also sagen wir mal du schaffst es mir den pfad (download) zu übergeben (variable) dann kann man mein neues fenster per javascript öffen der sourcecode sieht so aus das er komplett in javascript ist also <html> <head> .... <javascript bereich anfang . . . > document.write("<a href=" downloadpfad " >...</a>); << oder so ähnlich <javascript bereich ende . . . > ... </html> dann hast du ein neues fenster mit genau einem link der den download startet auf die richtige datei... "ois klar" ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 mmh leider bekomme ich es irgendwie nicht hin den Wert der Variablen zu übergeben. ich habe hier mal einen ausschnitt meines scriptes. vielleicht hilft das. ich habe also nen popupmenü wo das projekt ausgewählt wird. das wird in der variable $apps gespeichert. die variable $what ist der name des scriptes welches dann auf der linuxmaschine ausgeführt wird. das ergebnis wird angezeigt, also der textinhalt der entstandenen Datei und darüber steht dann der link. so wie es jetzt ist komme ich beim clicken in den ordner Daten und er zeigt mir die Dateien an welche sich dort befinden. dann kann ich die anclicken und downloaden. wenn man den link dynamisieren könnte würde ich nicht erst in den ordner rein kommen sondern gleich die datei downloaden. ist nur die frage wie... #! /usr/bin/perl -w use CGI::Carp qw/fatalsToBrowser/; use strict 'vars'; use CGI; print $co->popup_menu ( -name => 'projekte', -values => [ @x ], - onChange=>'test1.options.value=0,test2.options.value=0', ); my $apps = $co->param('projekte'); my $what = $co->param('what'); use Net::Telnet; use strict; my $user = "darfnix"; my $passw= "darfnix"; my $tn = new Net::Telnet ( Timeout => 50, Prompt => '/BCati:>$/', Port =>23, ); $tn->open("x.x.x.x"); $tn->waitfor('/BCATI login[: ]*$/'); $tn->print("$user"); $tn->waitfor('/Password[: ]*$/'); $tn->print("$passw"); $tn->print("\n"); my $term = $tn->waitfor(Match => '/Terminal type\?/', Timeout => 1.0); if ($term) {$tn->print('vt100');} $tn->waitfor('/BCati:>$/'); @lines = $tn->cmd("cd /usr/projekte/$what"); @lines = $tn->cmd("/usr/$apps $what"); print '<form action="../Daten/"$apps".ict"> <input type="submit" value="Download der angezeigten Daten"/></form>'; print "\n"; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 print '<form action="../Daten/"$apps".ict"> <input type="submit" value="Download der angezeigten Daten"/></form>'; Kann es sein, dass es so richtiger wäre? print '<form action="../Daten/'.$apps.'.ict"> <input type="submit" value="Download der angezeigten Daten"/></form>'; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 das problem ist einfach die Übergabe der Varible. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 leider kann ich mit dem obigen sachen nichts anfangen... sry... evtl wer anderes... vielleicht könnte man den pfad in ein cookie speichern per javascript rauslesen und cookie wieder löschen... k.a. ob des funktioniert wär aber ne idee oder? oder irgendwie das popup per cgi-skript aufrufen mit ...&adress="blabal" evlt. sogar besser hab da aber nicht so die ahnung... edit: to slow... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 das problem ist einfach die Übergabe der Varible. Dann sieh Dir mal mein Post auf Seite 1 ganz unten an, bevor das jetzt untergeht, weil ich zu langsam war Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bosi Geschrieben 16. Juni 2005 Autor Teilen Geschrieben 16. Juni 2005 Ha das is ja geil. habe es schon mit den verschiedensten ausdrücken versucht... cool klappt hervorragend. Problem gelöst und klappt so wie i mir das vorgestellt habe. jetzt bin ich happy. Danke an alle für eure tolle Hilfen und tipps. mfg Bosi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 16. Juni 2005 Teilen Geschrieben 16. Juni 2005 Dann sieh Dir mal mein Post auf Seite 1 ganz unten an, bevor das jetzt untergeht, weil ich zu langsam war welche seite 1 ?? ich bin einfach zu verwirrt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.