Ciao a tutti,
è possibile fare in modo che all apressione di un tasto all'interno di un filmato si apra una finestra di "save as" per salvare /fare il download" di qualcosa il cui nome ed indirizzo sono contenuti in una stringa?
Grazie in anticipo
Ciao a tutti,
è possibile fare in modo che all apressione di un tasto all'interno di un filmato si apra una finestra di "save as" per salvare /fare il download" di qualcosa il cui nome ed indirizzo sono contenuti in una stringa?
Grazie in anticipo
Zona - alias Danesi
Se intendi far scaricare un file che hai in remoto, con un banale getURL al file zippato*:Originariamente inviato da danesi
Ciao a tutti,
è possibile fare in modo che all apressione di un tasto all'interno di un filmato si apra una finestra di "save as" per salvare /fare il download" di qualcosa il cui nome ed indirizzo sono contenuti in una stringa?
Grazie in anticipo
on(release){
getURL("nomefile.zip");
}
(script sull'istanza, actionscript2; il corrispettivo in AS3 -se usi flash CS3- non lo so, comunque è possibile, basta tradurre)
*se non è zippato rischi che a chi clicca, se ha installata un'applicazione preposta ad aprire quell'estensione, si apra l'applicazione e debba salvare con nome da lì; per esempio se l'estensione è .doc e quello ha Word, gli si aprirà Word.
Il re è nudo (cit).
Via Asp può comunque forzare la richiesta di download (ed oltretutto non far apparire in chiaro il link di provenienza)... se ti interessa questo fammi sapere che cerco il codice ...
![]()
mir
PS: il risultato lo puoi vedere nel mio fotografario se scarichi le foto, il link è questo qua sotto.
Fotografario MultiUtente Interamente in Flash: QUI
grazie per le risposte:
Purtroppo i file sono delle immagini (galleria fotografica) e sicuramente si aprirebbero nel browser (cosa che voglio evitare)
Mi sa che la soluzione migliore può essere asp come suggerisce mir (manca il link al tuo sito).
Tenete presente che non conosco per nulla asp.
Un salutone e buon natale
Zona - alias Danesi
il link che chiedi è nella firma di Mir
potremo raccogliere qui sul thread un po' di soluzioni tra ASP e PHP e nelle versioni AS2/AS3
io intanto inserisco quella in PHP:
questa è in GET e senza specifica della directory (che viene gestita dalla variabile $d passata nell script phpCodice PHP:<?php
# file "download.php"
if(!empty($_GET)){
$d = ".";
$f = (isset($_GET['fn'])) ? $_GET['fn'] : null;
if(!is_null($f)){
if(is_file("$d/$f")){
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=$f");
header("Content-Description: Download PHP");
readfile("$d/$f");
} else {
echo "Wrong request! File don't exists";
}
} else {
echo "Wrong request! File don't exists";
}
} else {
echo "Wrong request! File don't exists";
}
?>
in flash si può richiamare così:
per nascondere le informazioni inviate si può utilizzare il metodo POST, per farlo basta cambiare tutti i GET negli script, in POSTCodice PHP:// funzione AS2 :
function downloadFile(filename:String):Void {
var getLV:LoadVars = new LoadVars();
getLV.n = filename;
getLV.send("download.php", "_self", "GET");
}
// utilizzo :
myButton.onRelease = function(){
downloadFile("test.jpg");
}
//
// funzione AS3 :
function downloadFile(url:String) {
var v:URLVariables = new URLVariables();
v.fn = url;
var r:URLRequest = new URLRequest();
r.data = v;
r.method = "GET";
r.url = "download.php";
navigateToURL(r, "_self");
}
// utilizzo :
myButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent) {
downloadFile("test.jpg");
}
Soluzione in ASP:
Codice PHP:<%
Dim download, filescar
filescar = Request.QueryString("file") 'nome del file
direct = Request.QueryString("direct") 'directory del file
Set download = Server.CreateObject("ADODB.Stream")
download.Type = 1
download.Open
download.LoadFromFile Server.MapPath (direct & filescar)
Response.AddHeader "Content-Disposition", "attachment; filename=" & filescar
Response.ContentType = "application/octet-stream"
Response.BinaryWrite download.read
Response.Write("risp=ok")
download.Close
Set download = Nothing
%>
Fotografario MultiUtente Interamente in Flash: QUI
Scusate, non ho provato le soluzioni sopra descritte ma io lo faccio senza usare asp o php..
Codice PHP:import flash.net.FileReference;
var url:String = "http://www.miosito.com/foto.jpg";
var fileRef:FileReference = new FileReference();
myButton.onRelease = function() {
fileRef.download(url,"foto.jpg");
};
![]()
ciao.
ho provato con il codice php ottenendo in una pagina nuva (mi butta fuori dal sito):
The server encountered an internal error or misconfiguration and was unable to complete your request.
Zona - alias Danesi
chiaramente il tutto va provato online, per la modifica degli header ecc... inoltre io l'ho sempre utilizzato su server linux, non so se windows (nel caso che il tuo hosting sia win) abbia delle limitazioni in tal senso
La prova l'ho fatta su server linux...
Zona - alias Danesi