2010-11-07 9 views
1

Je cherche à créer un téléchargeur de fichier en utilisant Ruby on Rails qui doit avoir les caractéristiques suivantes:fichier fiable Uploader en utilisant Ruby on Rails et Amazon S3

  • travail pour tout type de fichier
  • Être la progression du téléchargement
    • J'ai utilisé un module apache pour suivre les progrès, mais des solutions flash sont acceptables
  • Utilisez Amazon S3 comme système de fichiers
    • Rails crée un fichier RackMultipart dans le dossier tmp qui doit être déplacé à S3 se demander est-il une meilleure façon
  • Extrêmement fiable
    • Ma mise en œuvre en cours à l'occasion, ne parvient pas à suivre les progrès correctement ou parfois le fichier RackMultipart n'est pas créé (Rails 2.3.8)

Mon système est Rails 2.3.8, Ruby 1.8.7 Enterprise, Apache.

+2

les rails ne rendent pas cela facile – s84

+0

des idées ou des recommandations? – Sid

Répondre

1

Voici une même question SO:

Ruby on Rails: upload files with progress bar and checking of filesize before upload


J'ai essayé toutes ces choses et ai eu un problème avec chacun:

http://timmyc.posterous.com/uploadify-on-rails-with-paperclip

http://railsillustrated.com/screencast-file-uploads-progress-in-rails-passenger.html

http://railstips.org/blog/archives/2009/07/21/uploadify-and-rails23/

http://jimneath.org/2008/05/15/swfupload-paperclip-and-ruby-on-rails/


AFAIK il est même pas une bonne pratique ne télécharger comme ça. Télécharger et utiliser le travail retardé pour le gérer en arrière-plan les «travailleurs» sont censés faire cela sur heroku.

+0

delayed_job est une idée intéressante. Mais comment cela fonctionne-t-il si j'ai plusieurs serveurs Web et plusieurs serveurs de traitement (différents)? Le traitement des travaux en différé se produit sur les serveurs de processus et le fichier RackMultipart se trouve sur les serveurs Web. – Sid

+0

Heroku résout le problème en chargeant l'application dans un 'fichier unique' qui est exécuté dans un nuage, donc peu importe si l'application est répartie sur les serveurs. mais vous essayez d'utiliser une production différente, donc je ne peux pas répondre à cela. – s84

+0

Heroku semble cool. J'utilise Amazon EC2. Toute idée ou recommandation avec Uploadify ou YUI Uploader? Je les ai négligés plus tôt en raison des hésitations de Flash, mais l'utilisation de Flash semble inévitable pour éviter les problèmes de compatibilité du navigateur – Sid