ci sarebbe un modo, da testare meglio, con PHP
si tratterebbe in sostanza di forzare il caricamento come si farebbe in html su un normale href
la cosa sarebbe così composta
- script php che legge una variabile in GET con il nome del file da scaricare e modifica gli header in modo di scaricare il file invece di visualizzarlo
- script su flash, nel pulsante, che richiama la pagina php con il file in GET
in codice :
Codice PHP:
<?php
// file "download.php"
if(!empty($_GET)){
$d = "./";
$f = (isset($_GET['f'])) ? $_GET['f'] : null;
if(!is_null($f)){
$ext = strtolower(array_pop(explode(".", $f)));
if(is_file("$d$f") && $ext == "pdf"){
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=$f");
header("Content-Description: Download PHP");
readfile("$d$f");
}
}
}
?>
codice:
// Flash AS Code for PDF download
var pdf = "prova.pdf";
myButton.onRelease = function() {
getURL("download.php?f="+pdf);
};
il codice esegue il download solo per i tipi "pdf", e solo dalla cartella specificata sulla variabile $d, almeno in questo modo dovrebbe esserci un minimo di sicurezza, senza dare la possibilità di scaricare qualsiasi tipo di file da qualsiasi cartella del sito
testato con IE, FF e Opera