Carica il file direttamente su S3 con la barra di avanzamento [chiuso]
-
20-08-2019 - |
Domanda
In relazione a questa domanda, Carica file direttamente su Amazon S3 dall'applicazione ASP.NET , c'è un modo per farlo e avere una barra di avanzamento?
---- EDIT ----
Due giorni dopo e ancora nessuna fortuna con un modo diretto. Trovato qualcosa che sembra promettente ma non gratuito: http://www.flajaxian.com/
Utilizza Flash per caricare direttamente su S3 con una barra di avanzamento.
Soluzione
Sto cercando anche una soluzione. Forse questo sarà di qualche aiuto,
Da AWS Dev Commnity Ma in molte lingue (PHP, Java), per file di grandi dimensioni, è necessario utilizzare flussi attraverso il quale l'ambiente linguistico prenderà pezzi del tuo file di grandi dimensioni uno dopo l'altro (per riempire memoria centrale con un'enorme quantità di dati necessari per il POST http di S3 per il caricamento.
La cosa bella di Stream è che hanno un callback chiamato ogni volta il prossimo pezzo viene letto per ulteriori PUT (nel senso di https) dati a S3. È possibile utilizzare questo callback per calcolare e visualizza l'avanzamento sul client UI.
Vedi il documento di libcurl per vedere in spiega come funziona tutto questo.
Aggiornamento: sembra che ci siano due opzioni semplici.
Personalmente odio usare estensioni di terze parti (Flash, Java) per far funzionare un'app, ma non ho trovato un altro modo.
Altri suggerimenti
html5 javascript può permetterti di farlo, se non ti dispiace la mancanza di supporto del browser (Firefox e Chrome solo a partire da questo post_ Esempio qui: https://developer.mozilla.org/en/Using_files_from_web_applications
Questo non è specifico di AWS, ma può aiutarti ad avvicinarti.
Un altro approccio è quello di utilizzare qualcosa come Uber Uploader ( http://uber-uploader.sourceforge.net/ ) che è una soluzione ibrida perl / php con una barra di avanzamento. Dovresti semplicemente caricare i file sul tuo server e quindi avere il tuo server FTP in background alla destinazione finale. È un passaggio aggiuntivo ma ti dà del tempo per eseguire qualsiasi elaborazione / codifica / ecc. Che potresti dover fare prima di inviare a S3.