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.
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:
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.
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.