Ho un sito in cui viene richiesto agli utenti di scaricare file da risorse esterne. Poiché i nomi dei file esterni vengono sottoposti a hash e l'utente scarica più file, è molto difficile per gli utenti sapere quale file scaricano per raggiungere la risorsa richiesta. Ad esempio, il nome file di fdae442dafe42.zip
potrebbe essere production-resources.zip
.Scarica risorse esterne - Rinomina file
Sto cercando modi per averlo in modo che il browser scarichi il file come un nome diverso. Di seguito sono alcune delle mie idee e perché non funzioneranno, ma potresti essere in grado di trovare una soluzione alternativa.
Solo una nota, non ho alcun controllo sulla risorsa esterna. Non sarò in grado di apportare modifiche alle intestazioni o altro. Il mio servizio è un sito web che si rivolge principalmente agli utenti desktop. Le soluzioni Android e iOS non saranno così vantaggiose.
Scarica attributo
Questo metodo stava lavorando per un po 'in Google Chrome e Firefox, ma poi hanno iniziato a seguire il W3 HTML5 spec. La risorsa esterna richiede di inviare l'intestazione di Content-Disposition
in cui Google Chrome e Firefox non hanno verificato prima.
PHP proxy scaricare
So che avrei potuto avere uno script PHP effettua una richiesta alla risorsa esterna e poi consegnarlo al cliente finale, mentre la modifica delle intestazioni e il nome per soddisfare le mie esigenze. Il problema è che il sito ha un traffico elevato e ogni utente scarica circa 1-2 GB di dati. I miei server non sono in grado di gestire questo tipo di traffico e l'aggiornamento del server sarà probabilmente troppo costoso.
File Rename con applicazione esterna
stavo considerando usando un programma esterno (forse un estensione Chrome/Firefox) che rinominare i file al termine della download. Ma considerando che un numero abbastanza grande del mio pubblico sono visitatori una tantum, chiedere loro di scaricare un'applicazione o un'estensione è molto improbabile.
Flash o Java Soluzioni integrate
Sto pensando di utilizzare un file Java o Flash incorporato che consente di gestire i download di file, ma io non ne so abbastanza su entrambe le piattaforme. Da quello che posso dire, Flash non ha molto controllo sul file system dell'utente, quindi questo potrebbe essere un problema. Java sarà in grado di svolgere questo compito, ma speravo davvero che non avrei dovuto usare Java poiché è spesso insicuro e richiede un grande download per installarlo (lo stesso problema dell'idea del software esterno).
Se avete qualche idea su cosa potrei fare per risolvere questo problema, sarebbero molto apprezzati. Non sto cercando alcun codice, solo idee su come sarò in grado di svolgere il compito di cui sopra. Vorrei ringraziarvi tutti per il vostro tempo e competenza.
Vorrei votare per chiudere questa domanda in quanto basata principalmente su opinioni; le risposte a questa domanda non risolveranno il problema, ti daranno solo e chi troverà questa domanda in futuro ancora più cose a cui pensare. Sfortunatamente, ha una taglia aperta, e come tale non può essere votato per la chiusura. –
Non sto chiedendo se la Soluzione 1 sia migliore della Soluzione 2. Tutte le soluzioni disponibili al momento non hanno funzionato. Sto cercando una soluzione per il problema che sto avendo, non un'opinione su quale soluzione dovrei usare, dato che al momento non ce ne sono. – David
Gli utenti scaricano i file "in modo casuale" (di loro scelta, _Voglio file 'pippo' e' bar', non mi importa del resto solo adesso_), o devono scaricare file/risorse 'A' , 'B' e' C' per completare una sorta di "pacchetto" con cui possono lavorare successivamente? (quindi basicamente funziona su un elenco di file e li metto tutti) – CBroe