Télécharger des fichiers volumineux sur S3 avec le support CV
(Je suis nouveau sur Amazon AWS/S3, donc s'il vous plaît garder avec moi)
Mon but ultime est de permettre à mes utilisateurs de télécharger des fichiers de S3 à l'aide de leur navigateur web, mes besoins sont:
- Je dois gérer de gros fichiers (plus de 2GO)
- Je doit prendre en charge de mettre en pause/reprendre avec indicateur de progrès
- (Facultatif, mais souhaitable!) Possibilité de reprendre un téléchargement si la connexion temporairement tombe
Ma question en deux parties:
- J'ai lu sur le S3 de téléchargement en plusieurs parties, mais il n'est pas clair comment puis-je
mettre en œuvre le mettre en pause/reprendre pour webbrowser à base de téléchargements.
Est-il même possible de le faire pour les gros fichiers? Si oui, comment?
- Devrais-je télécharger des fichiers à l'EC2 puis déplacez-les vers S3 une fois que je suis fait? Peut
J'ai (bien) télécharger des fichiers directement à S3 au lieu d'utiliser un temp. serveur web?
Si il est possible de les télécharger directement sur S3, comment puis-je gérer les mettre en pause/reprendre?
PS. Je suis à l'aide de PHP 5.2+
source d'informationauteur style-sheets
Vous devez vous connecter pour publier un commentaire.
Mise à jour 20150527
Temps disponible SDK AWS pour le JavaScript (dans le Navigateur) prend en charge Amazon S3, y compris une classe ManagedUpload à l'appui de la multipart télécharger les aspects du cas d'utilisation à portée de main (voir la précédente mise à jour pour plus de détails). Il pourrait maintenant être la meilleure solution pour votre scénario en conséquence, voir, par exemple, Le téléchargement d'un fichier local en utilisant le Fichier API concis exemple qui utilise la HTML5 Fichier API à son tour - l'introduction de blog Annonce Amazon S3 Réussi à Uploader dans le SDK AWS pour JavaScript fournit plus de détails à propos de ce SDK fonctionnalité.
Mise à jour 20120412
Ma première réponse apparemment manqué le point principal, de sorte à clarifier:
Si vous voulez faire basé sur un navigateur de télécharger via de simples formulaires HTML, vous êtes limité à l'aide de la POST Objet de l'opérationqui ajoute un objet à un seau à l'aide de formulaires HTML:
Le téléchargement est géré en une seule opération ici, donc ne supporte pas mettre en pause/reprendre et vous limite à l'original maximum la taille de l'objet de 5 gigaoctets (GO) ou moins.
Vous ne pouvez surmonter la fois les limites par À l'aide de l'API REST pour Multipart Télécharger au lieuqui est à son tour utilisé par les Sdk comme le SDK AWS pour PHP pour mettre en œuvre cette fonctionnalité.
Cela nécessite à l'évidence un serveur (par exemple, sur EC2) pour gérer l'opération initiée via le navigateur (ce qui permet de faciliter Compartiment S3 Politiques et/ou IAM Politiques pour le contrôle d'accès facilement aussi bien).
Une autre solution pourrait être l'utilisation d'une bibliothèque JavaScript et de l'exécution de ce côté client, voir, par exemple, jQuery de Progression de Téléchargement et upload de fichier en AJAX pour un premier pointeur.
Malheureusement, il n'est pas canonique JavaScript SDK AWS disponible (aws-lib étonnamment n'a même pas le soutien S3 encore) - apparemment, certains des fourches de knox ont ajouté de téléchargement en plusieurs parties, voir, par exemple,slakis de la fourcheje n'ai pas utilisé l'un de ces pour le cas d'utilisation à portée de main.Première Réponse
La SDK AWS pour PHP prend en charge le téléchargement de fichiers volumineux vers Amazon S3 par le biais de la Faible Niveau de PHP API pour Multipart Télécharger:
Amazon S3 peut manipuler des objets de 1 octet toutes les 5 téraoctets (to)voir le post de présentation Amazon S3 - Taille de l'Objet Limite Maintenant 5 to:
Je ne sais pas du tout flash uploaders d'offrir quelque chose de plus puissant que la norme HTTP Post, mais vous pourriez développer votre propre logiciel flash pour le client avec de coordination de logiciel sur le serveur.