7
votes

Plugin de téléchargement de fichier multiple ASP.NET MVC et JQuery MVC et JQuery

J'utilise le plugin de téléchargement de fichier multiple jQuery multiple pour télécharger plusieurs images. Mais former des messages seulement 1, haut, article. Fiddler (Post):

<input id="file" class="multi" type="file" accept="jpg|png" name="file[]" style="position: absolute; top: -3000px;"/>
<input id="file_F1" class="multi MultiFile" type="file" accept="jpg|png" name="file[]" style="position: absolute; top: -3000px;"/>
<input id="file_F2" class="multi MultiFile" type="file" accept="jpg|png" name="file[]" style="position: absolute; top: -3000px;"/>
<input id="file_F3" class="multi MultiFile" type="file" accept="jpg|png" name="file[]" style="position: absolute; top: -3000px;"/>
<input id="file_F4" class="multi MultiFile" type="file" accept="jpg|png" name="file[]"/>


1 commentaires

Changer le nom du fichier [] pour déposer peut-être?


9 Réponses :


1
votes

Je pense que le problème est le fichier nom [] dans le code HTML généré. Clairement, ce SI ne fonctionne pas bien du côté plug-in.

Inverser parfois le bon comportement est ce qui fonctionne. Essayez de supprimer "[]" du nom et de voir.

En réalité, puisque vous n'utilisez pas les champs d'entrée par nom. Vous pouvez laisser le nom non défini comme des exemples de page d'accueil du plug-in.

Essayez.


0 commentaires

2
votes

Vous devriez être capable de se lier à une liste.

<input id="file" class="multi" type="file" accept="jpg|png" name="file" style="position: absolute; top: -3000px;"/>


2 commentaires

Liste fichier = est toujours null


Comment il peut être possible uniquement avec la modification de la balise de téléchargement de fichier unique par cet attribut "Classe =" Multi '"?!



1
votes

J'ai trouvé. La propriété "NomPattern" doit être définie afin de générer des entrées avec un nom différent.

pour ex.:

<input type="file" accept="gif|jpg|jpeg|png" />


<script language="javascript" type="text/javascript">
        $(document).ready(function () {
            $i = (1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
            $(':file').MultiFile({ namePattern: '$name_$i', maxlength: 20 });
        });  
</script>


0 commentaires

3
votes

Le problème était que vous essayiez d'accéder à un tableau contenant le même index que le message Soumettre obtient un tableau de fichiers avec le même nom.

au lieu de p>

for (int i = 0; i < Request.Files.Count; i++)
{
        HttpPostedFileBase hpf = Request.Files[i];


0 commentaires

7
votes

J'ai trouvé une solution. La réponse était de modifier le HttpPostedFileBase en un iEnumerable (si vous téléchargez plusieurs fichiers).

J'ai eu le même problème que vous avez ci-dessus. Cela a résolu mon problème. Voici un bon lien aussi: Post de Phil Haacks


0 commentaires

1
votes

Vous pouvez Regardez ici une solution de Phil Haack.

sur la vue xxx

sur contrôleur xxx


0 commentaires

2
votes

Dans HTML5, vous pouvez télécharger plusieurs fichiers avec un seul champ de téléchargement de fichier: xxx pré>

Dans ce cas, votre méthode d'action peut être quelque chose du genre: P>

public ActionResult Index(List<HttpPostedFileBase> files) {

foreach (var file in files) {
  ...etc.


0 commentaires

0
votes

vue xxx

contrôleur xxx


0 commentaires

1
votes

Affiche de nombreux fichiers avec jQuery Ajax et .NET MVC:

en vue: p> xxx pré>

dans JS: p> xxx pré>

Contrôleur: P>

 [HttpPost]
    public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
    {

        return Content("Succesfully");
    }


0 commentaires