Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Download - Files von Internetseite (https://www.delphipraxis.net/174062-download-files-von-internetseite.html)

bernerbaer 4. Apr 2013 11:01

AW: Download mit javascript jquery
 
da sind zwei verschiedene Dinge zu berücksichtigen
1. Das Speichern von Dateien und nicht das automatische Öffnen
um dies zu realisieren, muss auf dem Server eine .htaccess Datei erstellt werden mit etwa folgendem Ihhalt
Code:
AddType application/octet-stream .jpg .jpeg .png .gif
Header set Content-disposition "attachment;"
in diesem Beispiel werden Links auf Bilder (*.jpg, *.jpeg, *.png, *.gif) nicht im Browser geöffnet sondern zum Download angeboten

2. Die Dialogbox "speichern unter" anzeigen
Hier ist mir keine Lösung bekannt die für alle Browser funktioniert, ich denke, das ist wirklich dem User überlassen, wie und wo er seine Daten speichern will, indem er dies in seinem Browser konfiguriert

Valle 4. Apr 2013 12:10

AW: Download mit javascript jquery
 
Du kannst das mit der Datei namens ".htaccess" auch weglassen und stattdessen einen Downloader mit PHP erstellen.

Siehe hier.

Dieser Weg wird von fast jedem Download-Anbieter verwendet.

Mit dieser Variante geht dir so eine meist verstecke .htaccess-Datei nicht verloren und du bist flexibler, falls du mal einen Download-Counter mit einbauen möchtest. Bei manchen Providern funktioniert .htaccess leider sowieso nicht wie gewünscht. Außerdem kannst du deine Downloads besser "verstecken" oder schützen, da nur die PHP-Datei wissen muss wo sich der Download tatsächlich befindet.

Übrigens: Nimm bitte nicht die JavaScript-Variante aus Beitrag #6. Das ist wirklich reinste Schikane für die, die kein JavaScript aktiviert haben. Vorteile bringt es überhaupt keine.

Liebe Grüße,
Valentin

ATS3788 5. Apr 2013 09:22

AW: Download mit javascript jquery
 
Wow
Danke, das habe ich mir einfacher vorgestellt.
Ich dachte das geht mit JQuery oder simple JavaScript :pale:

ATS3788 6. Apr 2013 08:08

AW: Download mit javascript jquery
 
Valle
hört sich gut an, aber ich möchte mich nicht noch mit Pearl beschäftigen.
Da merkt man wie sehr ich unser Delhi liebe. Da kann am alles.......

IM www.HTML.de Forum habe ich dies Antwort bekommen

http://www.html5rocks.com/en/tutorials/file/dndfiles/

HTML 5 hat nicht jeder Browser aber so what, es ist aber etwas wo man aufbauen kann.

Valle 6. Apr 2013 11:49

AW: Download mit javascript jquery
 
Zitat:

Zitat von ATS3788 (Beitrag 1210052)
Danke, das habe ich mir einfacher vorgestellt.

Ich will dir nicht zu nahe treten, aber das ist einfach... :duck:

Wenn du kein PHP kannst, erstellst du einfach eine Datei namens ".htaccess", kopierst das Zeug mit dem content-disposition-Header da rein und lädst die Datei in den Ordner, wo auch die Downloads auf deinem Server liegen. Also am besten ein extra-Downloads-Ordner. Alle Dateien die nun in diesem Ordner aufgerufen werden, werden automatisch zum Download angebot statt sie zu öffnen.

Zitat:

Zitat von ATS3788 (Beitrag 1210239)
hört sich gut an, aber ich möchte mich nicht noch mit Pearl beschäftigen.

Musst du auch nicht. Was du da siehst wäre auch PHP. Und Pearl wirst du im Webbereich eher selten antreffen. Dann doch lieber Perl. Aber wie gesagt, es geht auch mit der einfachen .htaccess-Lösung, wenn du kein PHP verwendest. :stupid: :zwinker:

Zitat:

Zitat von ATS3788 (Beitrag 1210239)

:gruebel:

Was du dort siehst, hat mit der Frage wie ich sie verstanden habe, aber überhaupt nichts zutun?!

Liebe Grüße,
Valentin

ATS3788 11. Apr 2013 07:56

AW: Download mit javascript jquery
 
Danke Valle dachte ich mir schon, habe das von www.html.de
als Antwort bekommen.

Neuer Ansatz neues Glück.

Code:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{  //1
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari   //*x
  xmlhttp=new XMLHttpRequest();
  }                                       //*x
else
  {// code for IE6, IE5    //*y
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }                  //*y
xmlhttp.onreadystatechange=function() {   //2
 
 if(xmlhttp.readyState==4){ //3
  switch (xmlhttp.status){  //4
   case 200: {
   var S = xmlhttp.responseText;
    document.getElementById("myDiv").innerHTML= S;
    if (S == "") { document.getElementById("myDiv").innerHTML = "MMMhh"};
    break;
    };
   case 404:
   document.getElementById("myDiv").innerHTML="Download not available !"; break; //(HTTP-Status-Code ist '404')
   case 0:
   document.getElementById("myDiv").innerHTML="Server does not response !"; break; //(HTTP-Status-Code ist '0')
   default:
    log_error("Unknown Error !"); break; //(HTTP-Status-Code ist nicht '200')
  } // 4
 } //  3
}; // 2
xmlhttp.open("GET","download.php",true);
xmlhttp.send();
}; // 1
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<p>Click the button several times to see if the time changes, or if the file is cached.</p>
<div id="myDiv"></div>
</body>
</html>

Zitat:

<?PHP
/**
* Dateien zum Download anbieten
*
* Systemvoraussetzung:
* Linux
* PHP 3, PHP 4, PHP 5
*
* Dateien zum Download anbieten
*
* LICENSE: GNU General Public License (GPL)
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* @category Verschlüsselung
* @author Damir Enseleit <info@selfphp.de>
* @copyright 2001-2006 SELFPHP
* @version $Id: download.php,v 0.10 2006/04/14 13:25:30 des1 Exp $
* @link http://www.selfphp.de
*/

/**
* Erstellt die Navigationsleiste für die einzelnen Seiten
*
* @param string $file Datei, die zum Download steht
* @param string $dir Verzeichnis mit abschließenden Slash (/)
* @param string $type Mime-Type
*
* @return void
*/

function makeDownload($file, $dir, $type)
{

header("Content-Type: $type");

header("Content-Disposition: attachment; filename=\"$file\"");

readfile($dir.$file);

}
// gif - image/gif
// jpg - image/jpeg
// png - image/png
// zip - application/zip
// txt - text/plain

$dir = '/download/';
$type = 'application/zip';
$file = 'Report0.zip';

if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file']))
{
if(file_exists ($dir.$_GET['file']))
{
makeDownload($_GET['file'], $dir, $type);
}
}
?>
OK soweit bin ich nun.
Bekomme sogar xmlhttp.status 200
nur übertragen wird nix.
Hat noch einer eine Idee ?

ATS3788 11. Apr 2013 09:35

AW: Download mit javascript jquery
 
Das Problem liegt hier im php script

if(file_exists ($dir.$_GET['file']))

ich habe ein test.txt im ordner download angelegt
und file_exists gibt false aus.

Valle 11. Apr 2013 11:04

AW: Download mit javascript jquery
 
Hallo,

der PHP-Skript sieht brauchtbar aus. Aber mir ist erneut nicht klar, was dieses JavaScript da oben für einen Vorteil bringen soll. Lass es weg und verlinke einfach direkt auf diese download.php.

Was das file_exists Problem angeht: du musst in $dir den absoluten Pfad zu diesem Verzeichnis auf dem Server schreiben. Sowas wie "/srv/www/htdocs/download" oder so. Wenn du einen Fehler von PHP bekommst siehst du den Pfad meistens. Der hängt auch stark von deinem Anbieter ab. Im Zweifel einfach mal eine Funktion in PHP aufrufen, die nicht existiert. In der dann erscheinden Fehlermeldung siehst du den Pfad.

Noch 'ne Frage: warum erstellst du nicht einfach eine Datei, nennst sie .htaccess, schreibst Header set Content-disposition "attachment;" rein und lädst sie in den Downloads-Order? :gruebel:

Liebe Grüße,
Valentin

ATS3788 11. Apr 2013 11:09

AW: Download mit javascript jquery
 
Oh Man was für eine schwere Geburt

Hatte am Anfang vor download
ein slash "/" zu viel.
(Obwohl die PHPler exta sagten , das muss dahin)

Werde auf meinem Webauftritt,
Download von Dateien mal verarbeiten.

Das gut daran habe nun mini rudimentäre Ahnung von php.

Danke an alle in diesem tollen Forum.

Zitat:

Wenn Du Dich nicht mehr konzentrieren kannst
lernst Du erst zu schätzen, was es heißt
klar zu denken.

ATS3788 11. Apr 2013 11:14

AW: Download File Webpage (Homepage)
 
Valle danke

Ich habe keine Ahnung was ich da machte !!!!!!!!

Nun weiß ich etwas mehr. Wenn Wissen selbstverständlich wird,
dann versteht man die Anfänger nicht mehr.

Den JS brauche ich für irgendwann später um eine große Datei zu splitten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz