web-dev-qa-db-fra.com

Téléchargement de fichier traditionnel vs référentiel

Je travaille sur une application Web b2b où les utilisateurs peuvent vouloir télécharger des fichiers à plusieurs fins: attribuer des images et/ou des documents avec des spécifications à leurs produits ou entreprises, joindre des fichiers à des messages privés ( PDF s, DOC s, XLS s), etc.

Maintenant, au lieu d'autoriser la méthode traditionnelle de téléchargement de fichiers dans chaque formulaire, je me demande s'il serait préférable de laisser à l'utilisateur un référentiel où il pourrait télécharger le fichier qu'il veut, en limitant le référentiel à une certaine taille maximale (en fonction de si l'utilisateur possède un compte premium ou non), puis en lui permettant de lier le fichier qu'il souhaite à partir de chaque formulaire.

Ainsi, par exemple, dans le Send private message forme, au lieu d'afficher l'entrée typique de choix de fichier , j'afficherais le référentiel de l'utilisateur afin qu'il sélectionne le fichier qu'il souhaite joindre, ou ajoute même un nouveau fichier dans le moment et le sélectionne.

Est-ce une bonne approche?

Le seul inconvénient que j'ai détecté jusqu'à présent est que les utilisateurs qui ont JavaScript désactivé dans leurs navigateurs devraient spécifier manuellement l'ID du fichier.

4
federico-t

L'avantage potentiel de l'utilisation d'un référentiel centralisé est que si votre client réutilise plusieurs fois le même fichier, il/elle n'aura pas besoin de le télécharger à chaque fois sur le serveur.

Les inconvénients sont plus nombreux:

  • Au lieu d'une seule action (sélectionner le fichier à télécharger), les utilisateurs sont désormais obligés de faire 2 actions: (télécharger le fichier dans le référentiel + sélectionner le fichier dans le référentiel).
  • Une fois que le nombre de fichiers est important, vous devrez ajouter une structure hiérarchique pour le garder organisé - par exemple, créer des dossiers. Les dossiers ne sont pas intrinsèquement mauvais, mais ils allongent le temps nécessaire pour rechercher et sélectionner un fichier.
  • Le téléchargement d'un fichier peut maintenant nécessiter un effort mental considérable (dans quel dossier dois-je placer ce fichier? Dois-je en créer un autre? Mec, mon référentiel est un tel gâchis ...
  • Que voulez-vous faire si l'utilisateur a supprimé/renommé un fichier qu'il a envoyé avec un message plus tôt? Le destinataire du message peut souhaiter avoir accès au fichier d'origine.
  • Les utilisateurs auront probablement des problèmes de sécurité concernant le stockage de leurs fichiers quelque part.
2
Pasha

S'il est probable que quelqu'un devra envoyer un fichier donné plusieurs fois, il est préférable d'utiliser un référentiel. Si ce n'est pas susceptible d'être un cas d'utilisation courant, je suggère un simple téléchargement de fichier.

C'est particulièrement le cas avec les BnB car ils sont souvent à l'écart dans les zones rurales avec mauvaises connexions Internet. S'ils doivent télécharger un fichier à chaque fois qu'ils l'envoient (et éventuellement attendre longtemps pour chaque fichier), ils auront tendance à éviter d'envoyer des images haute résolution et/ou à envoyer moins d'images. Ce n'est probablement pas ce que vous voulez arriver.

Ma suggestion (dans vos caes) serait d'utiliser un référentiel, mais pas le vôtre. Utilisez plutôt les personnes Dropbox ou Google Drive existantes comme référentiel et utilisez simplement leurs API pour vous y connecter. C'est plus facile pour les utilisateurs, plus rapide à développer et moins de problèmes de maintenance.

2
JohnGB

Si les utilisateurs envoient souvent les mêmes fichiers, cela peut être une bonne idée. Mais je mettrais certainement un "téléchargement de fichier" sur le message lui-même. Et si, comme l'a dit Marjan, le fichier n'est pas téléchargé auparavant - l'utilisateur doit annuler le message, trouver la page de téléchargement, le télécharger, revenir en arrière et réécrire le message ...

Le fichier de téléchargement dans le message peut placer le fichier dans le référentiel afin que la prochaine fois qu'un message est envoyé, ce fichier puisse être sélectionné au lieu de le télécharger à nouveau.

1
Henrik Ekblom