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[]"/>
9 Réponses :
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. P>
Inverser parfois le bon comportement est ce qui fonctionne. Essayez de supprimer "[]" du nom et de voir. P>
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. P>
Essayez. P>
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;"/>
Liste
Comment il peut être possible uniquement avec la modification de la balise de téléchargement de fichier unique par cet attribut "Classe =" Multi '"?!
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>
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];
J'ai trouvé une solution. La réponse était de modifier le HttpPostedFileBase en un iEnumerable (si vous téléchargez plusieurs fichiers). P>
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 A > p>
Vous pouvez Regardez ici une solution de Phil Haack.
sur la vue p> sur contrôleur p>
Dans HTML5, vous pouvez télécharger plusieurs fichiers avec un seul champ de téléchargement de fichier: 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.
vue contrôleur p>
Affiche de nombreux fichiers avec jQuery Ajax et .NET MVC:
en vue: p> dans JS: p> Contrôleur: P> [HttpPost]
public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
{
return Content("Succesfully");
}
Changer le nom du fichier [] pour déposer peut-être?