Forum di Matriz

Versione completa: download video nel rullino foto iOS
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Pagine: 1 2
Ciao Mattia,
stavo facendo un po' di ricerca per capire se è possibile, da una pagina web, fare in modo che un video venga scaricato direttamente nel rullino foto/video di iOS...
tu ne sai qualcosa?
QUESTO potrebbe tornare utile?
Per una questione di sicurezza non credo che iOS faccia scaricare automaticamente le immagini di un sito nel rullino.
La guida di cui hai inserito il link sembra che serva solo nel caso si stia costruendo un'app.
la webapp in questione permette di guardare dei contenuti in streaming, se però creo un pulsante di download dei video, posso fare in modo che il video venga salvato nel rullino, direttamente dalla webapp?
Dove viene messo il video, se viene salvato normalmente?
Da una qualsiasi app, salva di default nel rullino foto (che ha anche la cartella video). Su android non so bene come funziona, ma credo che salvi sulla cartella download.
Allora dovrebbe bastare mettere il link al video per farlo scaricare. Se ti apre il video dentro al browser, puoi forzare il download, per esempio, in PHP. Qui trovi una guida per farlo.
infatti, pensavo di fare un bottone per il download e sperare che lo salvi nel rullino. Ovviamente vanno fatte delle prove.

Grazie mille
Ciao Mattia,
ho provato, ma purtroppo non è possibile fare il download utilizzando PHP.
Viene infatti ignorato il comando di dowload e viene direttamente visualizzato.

Pensi possa esistere un'altra soluzione?
Mi sembra strano che non funzioni. Potresti pubblicare il codice che stai utilizzando?
QUESTA è una delle prove che abbiamo fatto!
Il codice è:

Codice:
<?php
header('Content-disposition: attachment; filename=video.m4v');
header('Content-type: video/m4v');
readfile('video.m4v');
?>

Ho provato anche a usare l'attributo "download" del'HTML5 apposito:

Codice:
<a href="url" download>

Il problema è che sui browser desktop funziona tutto, su Safari Mobile mostra direttamente il video. Stessa cosa ovviamente succede anche sull'app installata.
Hai trovato una soluzione alternativa? Perché io ho anche pensato di far aprire poi il browser per il download (se si riusciva), ma vedo che anche Safari da problemi.
Prova a inserire tutti gli header presenti in questa guida e non soltanto due.
no, avevo provato anche questo. Anche perché il problema è che una soluzione del genere non vuole un link, ma un percorso fisico sulla macchina.

Ho provato a vedere siti come Basecamp o Dropbox, ma non vedo alcuna possibilità di fare il download di un video.
Non ho capito quale sia il problema di utilizzare PHP, comunque la soluzione più semplice è quella.
Un'altra soluzione sarebbe quella di utilizzare creare un file ".htaccess" all'interno della cartella dove ci sono tutti i video da scaricare con queste direttive:
Codice:
<Files *.*>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
Ciao Mattia,
il problema non è fare il download di un video, sui desktop funziona. Il problema è fare il dowload di un video da una webview di Safari Mobile, sul rullino foto dell'iphone.
Dovrebbe funzionare allo stesso modo, perché gli header utilizzati non sono una tecnologia recente.
(08/11/2014 10:49)Mattia Ha scritto: [ -> ]Dovrebbe funzionare allo stesso modo, perché gli header utilizzati non sono una tecnologia recente.

Recente o non recente non ha importanza se una piattaforma decide di non supportare una tecnologia.


Il codice che mi avevi segnalato l'ho già applicato a questo link
Se lo provi su un browser desktop funziona, se lo provi su Safari mobile non funziona. Io sto provando su un iPhone 5s con iOS8.
Probabilmente è Apple stessa che blocca la funzionalità, perché ho provato su Android e invece li funziona.
Mi servirebbe un esempio funzionante su iOS...
Prova a modificare gli header Pragma in "no-cache" e Expires in "0" in questo modo:
Codice:
header('Pragma: no-cache');
header('Expires: 0');

Se ancora non funziona, dovresti provare a usare la soluzione con .htaccess.
Mi chiedono se puoi mostrarmi un esempio funzionante per iOS...
Hai provato a fare le modifiche che ti ho suggerito? Com'è il codice finale?
hanno fatto una prova QUI, ma non funziona con IOS
Firefox mi dà l'errore: "Errore contenuto danneggiato".
ma non riesci a vedere se il codice è corretto?
No, perché dall'esterno non posso vedere il codice PHP di una pagina.
ciao Mattia,
di seguito il codice:
Codice:
<?php
$path = "/home/giaconisi/gr3dcomunication.com/animeapp/";
$file = "video.m4v";
$file = str_replace('/','',str_replace('\\','',$file));
if($file!='' && file_exists($path.$file)){
    ob_start();
    header('HTTP/1.0 200 OK');
    header('Cache-Control: public, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    header('Content-type: octet/stream');
    header('Content-Disposition: attachment; filename="'.$file.'"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: '.filesize($path.$file));
    ob_end_clean();
    readfile($path.$file);
}else{
    echo "NOT exits";
}

?>
Il codice sembra corretto. Verifica che non ci siano spazi dopo ?> oppure eliminalo del tutto.
Niente da fare, non c'erano spazi, e sui browser desktop così che per android funziona correttamente.
Da QUESTO post sembra che ci sia poco da fare per iOS. A meno che nn ci sia qualche escamotage...
Qualche modifica è stata fatta, perché l'altra volta mi dava l'errore del contenuto danneggiato, mentre ora funziona.
OK, ma continua a non funzionare con iOS. Ovvero mi da la possibilità di vedere, ma non di salvare...
L'ultima mia possibilità era quella di modificare gli header come ti avevo spiegato in questo messaggio, ma non sembrerebbe funzionare.
Pagine: 1 2