AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Download - Files von Internetseite

Ein Thema von ATS3788 · begonnen am 1. Apr 2013 · letzter Beitrag vom 13. Apr 2013
Antwort Antwort
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

AW: Download mit javascript jquery

  Alt 4. Apr 2013, 10:05
Hallo
es ist doch egal was für eine Datei .Exe .mp3 .bla
es soll ein Dialog Fenster aufgehen mit speichern unter
und nicht die Datei geöffnet werden.
Bei einem HLML Link ist das kein Problem, wenn ich damit eine Datei verlinke,
nur das ist um es nett zu sagen primitiv und unprofessionell
und es funktioniert nur mit rechter Maustaste................
Habe mich deswegen bei www.html.de angemeldet, die haben
mir geantwortet Google doch da gibt es so viele Möglichkeiten.

Deswegen noch mal einen Dank an alle in diesem Forum, eure Antworten sind in der Regel
wirklich hilfreich und von hoher Qualität.

ZenForAll

Martin Michael
Martin MIchael
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#2

AW: Download mit javascript jquery

  Alt 4. Apr 2013, 11:01
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
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

AW: Download mit javascript jquery

  Alt 4. Apr 2013, 12:10
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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#4

AW: Download mit javascript jquery

  Alt 5. Apr 2013, 09:22
Wow
Danke, das habe ich mir einfacher vorgestellt.
Ich dachte das geht mit JQuery oder simple JavaScript
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#5

AW: Download mit javascript jquery

  Alt 6. Apr 2013, 08:08
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.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#6

AW: Download mit javascript jquery

  Alt 6. Apr 2013, 11:49
Danke, das habe ich mir einfacher vorgestellt.
Ich will dir nicht zu nahe treten, aber das ist einfach...

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.

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.



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

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#7

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 07:56
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 ?
Martin MIchael

Geändert von ATS3788 (11. Apr 2013 um 08:00 Uhr) Grund: slash vergessen
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#8

AW: Download mit javascript jquery

  Alt 11. Apr 2013, 09:35
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.
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
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