7
votes

Télécharger des fichiers de dossiers et de sous-dossiers sur WebApp

objectif: Autoriser l'utilisateur à sélectionner un dossier, puis recherchez tous les fichiers de récursivité qui correspond à un modèle de fichier et à un transfert (poste) sur mon serveur Web

Essence juste une boîte de dialogue de téléchargement plus avancé ...

Technologie Web standard (nous utilisons Plupload) ne le supporte pas, en raison des raisons de sécurité, AFAIK.

Exigences supplémentaires: Facile à utiliser / installer depuis la webApp. Les informations d'identification de l'utilisateur SSL et et des applications app sont nécessaires. Certaines autres données telles que l'ID d'enregistrement (Obtenir ou créer une application Web) pour associer les fichiers de téléchargement seraient bien.

L'application Web elle-même est écrite dans Ruby sur des rails, mais cela ne devrait pas vraiment importer si j'ai besoin d'une sorte de Mac et de Windows natifs (= 80% de mes utilisateurs) Client de bureau.

Quelles sont mes options?

Code et références à Open Source Libs pour le faire est un bonus.


2 commentaires

"Trouver tous les fichiers récursives qui correspond à un modèle de fichier" comme, essayez-vous de télécharger tous les PNGS (mais éventuellement pas JPGS) à partir d'un dossier? Qu'est-ce que vous essayez réellement de traiter?


1st: correct. 2e: Que voulez-vous dire, quel type de fichier? * .dcm


3 Réponses :


1
votes

Je construirais un client à partir de quelque chose comme ceci: https://github.com/ms4720/s3sync afin que vous puissiez le garder dans la famille de rubis. Si vous avez besoin d'une interface graphique amicale: http://shoesrb.com/tatudials/


1 commentaires

Cela ne fonctionnerait pas pour les utilisateurs réguliers. Ruby n'est pas nécessairement installé ni des informations d'identification S3 ne peuvent être données au public. En substance, j'ai juste besoin d'une boîte de dialogue de téléchargement plus avancé



4
votes

Je recommanderais de créer une application Adobe Air.

Vous pouvez réutiliser votre code JS plupload existant et l'étendre avec Adobe API API. Idéalement, ce serait une application surtout statique, mais rendrait un appel de serveur pour créer le document de stratégie et effectuer tout librement que vous souhaitez faire sur les téléchargements. Faites un pic à Accéder aux classes d'API d'air de JavaScript . Regardez ensuite dans le FileSystem.file classe.

Flash a quelque chose comme une pénétration de 99,3% et avec elle, l'utilisateur clique simplement sur "Installer mon uploader" et que le cadre d'air est automatiquement installé si nécessaire. Air est également sur Android et IDevices, votre application serait donc disponible pour 99,999% des utilisateurs et de leurs mères.

Il m'a fallu une minute pour le trouver, mais voici le Référence API Adobe® Air® pour les développeurs HTML

Oh regarde ce que j'ai trouvé dans leurs exemples: xxx


0 commentaires

0
votes

Je pense toujours qu'une application Adobe Air est une solution solide à votre problème. Fournit une installation facile / mises à jour, prend en charge SSL, vous permet de contrôler le contrôle complet de l'expérience utilisateur, de la plate-forme croix 110%, etc. Toutefois, si vous détestez Adobe ou écrivez le code de l'interface utilisateur, avez-vous regardé dans WebDAV / The Dav4rack Gem?

https://github.com/bryanrite/dav4rack-example-devise-subdies-subies < / a>

Cet exemple GITUB utilise Devise dans une application Rails pour l'authentification et a utilisé les mêmes informations d'identification pour qu'un utilisateur permet d'accéder à un godet privé où ils peuvent télécharger des fichiers via n'importe quel client WebDAV. Votre application Web pourrait fournir un lien qui inclut le nom d'utilisateur dans l'URL pour rendre l'accès plus pratique.

OS X's Finder prend en charge de manière nativement WebDAV via la boîte de dialogue "Connect to Server" du Finder (depuis 10.1.1).

Si votre utilisateur utilise Linux, je suis sûr qu'ils peuvent figurer webdav out.

de scanning http://en.wikipedia.org/wiki/webdav on dirait Windows pris en charge WebDAV dans Win98. Cependant, avec toutes les autres notes Web, Microsoft a décidé d'être, Um, créative. On dirait que si l'utilisateur est à jour avec KB892211, KB907306, Office, Internet Explorer, OLE-DB et / ou "Microsoft Mettre à jour pour les dossiers Web", ils devraient pouvoir accéder aux dossiers WebDav via SSL avec une facilité de divers systèmes d'authentification. Je suis sûr que tous vos utilisateurs de Windows utilisent des fenêtres véritables avec toutes les dernières mises à jour et une suite complète de bureau.

Depuis que votre application Rails est le serveur WebDAV, vous pourrez lancer des erreurs (impossible d'écrire ce fichier sur le serveur), de fichiers téléchargés post-traitement et de faire n'importe quelle comptabilité Vous avez besoin (vous avez le compte de l'utilisateur, ainsi que ce qu'ils ont téléchargé). Dav4rack est assez gentil. Vous pouvez utiliser un système de fichiers réel en tant que backend ou une base de données ou faire rebondir les fichiers téléchargés sur S3 ou à peu près tout ce que vous pouvez faire dans Ruby.

Je ne pense pas que cette solution aborde votre "Rechercher tous les fichiers de récursivité qui correspond à un composant de modèle de fichier" ainsi qu'une application aérienne pourrait. Sans expérience du monde réel, j'imagine que la correspondance des motifs se produirait après la fin du téléchargement (potentiellement la bande passante inefficace).


2 commentaires

Vous voulez vraiment cette bounty, Jeremy, haha. Je ne sais pas ce que je pense à Weddavav, mais merci de partage. Quand un Q est très important pour moi, j'ajoute une prime pour essayer d'obtenir autant de angles que possible. Vous allez le gagner pour la réponse Adobe Air. Merci encore.


Mon entreprise a été un peu en considération des outils de téléchargement. J'ai fait un dans le cadre d'une application Rails qui poussait directement à S3 (pas une application aérienne), mais il s'est avéré qu'il y avait beaucoup de bizarreries avec cela. Nous avons eu le travail, mais seulement avec Silverlight. Flash n'a pas pu obtenir de la progression de téléchargement, il y avait des problèmes avec des fichiers corrompus. HTML5 échoue, HTML4 Kinda a travaillé sans progression, et je pense qu'il avait besoin d'en-têtes personnalisés. Il est arrivé au point où je me sens à peu près directement à S3 n'est pas prêt pour la production. J'ai réfléchi à retravailler des choses et de construire plus d'applications Air, mais c'est au prochain projet pour moi!