2012-08-05 3 views
1

Est-il possible de faire Valums File Uploader pour accepter un seul fichier?Valums File Uploader - Autoriser le téléchargement d'un seul fichier seulement

À l'heure actuelle, avec multiple: false, vous ne pouvez pas limiter le nombre de fichiers à télécharger, mais vous pouvez demander à l'utilisateur de télécharger des fichiers un par un plutôt que d'autoriser une sélection multiple.

J'ai besoin de l'utilisateur pour télécharger un seul fichier. Si un autre fichier est sélectionné après le téléchargement d'un fichier, le fichier téléchargé doit être remplacé par le fichier en cours.

Quelqu'un peut-il m'aider à atteindre cet objectif?

Répondre

3

Pour limiter le téléchargement vers un seul fichier, j'ai simplement utilisé onComplete rappel et j'ai supprimé le bouton de téléchargement, espérons que cette aide:

onComplete: function(id, fileName, responseJSON){ 
       $('.qq-upload-button').remove(); 
      } 
+0

C'est la solution que j'ai finalement trouvée. Mais je suppose que ce n'est pas une bonne solution. Qu'en est-il si l'utilisateur veut télécharger à nouveau un autre fichier au lieu de celui qui vient d'être téléchargé? (changer l'image téléchargée, dire parce qu'il/elle n'a pas aimé et/ou a téléchargé la mauvaise image?) –

+0

J'ajouterais probablement le bouton de suppression par le nom de fichier des dossiers téléchargés. Le bouton supprime ce fichier du serveur (ajax) et recharge le fichier uploader. Mais c'est tout le code externe, séparé de l'uploader. – Equalfx

1

Je pense que cacher le bouton est une très bonne option, voici ce que j'ai fait.

Je réenregistrés essentiellement la méthode _storeFileForLater

qq.FileUploaderBasic.prototype._storeFileForLater = function(id){ 
        if(!this._options.multiple){ 

         this._storedFileIds = []; 
         this._storedFileIds.push(id); 
        } 
        else{ 
         this._storedFileIds.push(id); 
         } 
    } 
0

je force pour sélectionner un fichier à la fois de commenter cette ligne

si (this._options.multiple) {input.setAttribute ("multiple", " multiple ");} et multiples: qq.UploadHandlerXhr.isSupported(),

0

Je sais que ça fait un moment que vous avez publié, mais je viens d'apprendre que le multiple: false Le paramètre est pris en charge dans la version bêta 2.0 de Valums File Uploader.

Vous pouvez le télécharger here.

Questions connexes