Bonjour,
J'aimerais savoir comment gérer un fileupload :
voila ce que je fais :
Ma vue :
Mon controler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div class="editor-label"> <%: Html.LabelFor(model => model.filename) %> </div> <div class="editor-field"> <%: Html.TextBoxFor(model => model.filename, new { type = "file" }) %> </div> <div class="submitBtn"> <p> <input class = "submit enregistrer" id="importer" type="submit" value="Importer" title = "Importer les surfaces" /> <%: Html.ActionLink("Annuler", "Index", null, new { @class = "submit reset", title = "Revenir à la liste des utilisateurs" })%> </p> </div>
A cette étape là, quand j'upload mon fichier, il se créé bien à l'emplacement désiré avec le nom que je lui donne : idOperation + extension, ce qui donne 3.xls
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 [HttpPost] public ActionResult Step2(HttpPostedFileBase filename,int? idOperation) { var fileName = Path.GetFileName(filename.FileName); var extension = Path.GetExtension(filename.FileName); idOperation = 3; if (!String.IsNullOrEmpty(fileName)) { if (idOperation != null) { if (filename.ContentLength > 0 && Path.GetExtension(filename.FileName).ToLower() == ".xls") { var path = Path.Combine("C:/Users/Public/Oscimes_Surfaces/Temp", idOperation + extension); filename.SaveAs(path); //using (OscimesDB db = new OscimesDB(Constant.ConnectionStringWriter)) //{ // var nameJob = "Surfaces.dtsx"; // db.uspExecuteJob(nameJob,idOperation); //} } else { throw new Exception("Le fichier doit être enregistré au format Excel 2003 (.xls)."); } } } else { throw new Exception("Aucun fichier n'a été sélectionné"); } return RedirectToAction("Step2"); }
Ma question est comment après envoi du formulaire récupérer dans la même vue un truc du genre :
Fichier uploadé :
3.XLS et juste à côté une croix pour le supprimer...
comme le form est envoyé en POST il y a rechargement de la page, donc j'ai pensé récupérer le nom de mon fichier ici :
avec mon viewbag cela fonctionne bien mais le but est de parcourir le dossier ou se trouve le fichier et de le trouve avec une condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [HttpGet] public ActionResult Step2() { ViewBag.fileName = "3.xls"; return View(); }
cherche le nom de mon fichier where nom du fichier = 3.xls par exemple
avez-vous des idées ?
merci
Partager