2012-02-20 3 views
15

Ho bisogno di implementare nel mio progetto ASP .NET MVC3 il caricamento di file jQuery plugin:Esempio progetto plugin per jQuery plugin di caricamento dei file implementato in ASP .NET MVC3

http://blueimp.github.com/jQuery-File-Upload/

ho stato googling e mi rifugio' Ho trovato un intero progetto, solo pezzi di codice. Non so come implementarlo.

Qualcuno può aiutarmi? Qualcuno può dirmi dove posso scaricare un progetto o un codice di esempio?

+0

Dai un'occhiata al componente di caricamento di Telerik MVC http://demos.telerik.com/aspnet-mvc/upload È molto ben documentato e, di sicuro, funziona. I controlli di Telerik MVC sono open source. – Azargoth

+0

Grazie mille. Lo controllerò! – rspaz16

risposta

46

Hai letto il documentation del plug-in che stai tentando di utilizzare? Hai provato il basic plugin functionality? Hai provato a creare una nuova applicazione ASP.NET MVC 3 in Visual Studio utilizzando il modello predefinito?

Hai provato a scrivere un semplice controllo:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Index(IEnumerable<HttpPostedFileBase> files) 
    { 
     foreach (var file in files) 
     { 
      var filename = Path.Combine(Server.MapPath("~/App_Data"), file.FileName); 
      file.SaveAs(filename); 
     } 
     return Json(files.Select(x => new { name = x.FileName })); 
    } 
} 

e una corrispondente vista:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="@Url.Content("~/Scripts/blueimp/js/vendor/jquery.ui.widget.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/blueimp/js/jquery.iframe-transport.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/blueimp/js/jquery.fileupload.js")" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(function() { 
     $('#fileupload').fileupload({ 
      dataType: 'json', 
      url: '@Url.Action("index")', 
      done: function (e, data) { 
       $.each(data.result, function (index, file) { 
        $('<p/>').text(file.name).appendTo(document.body); 
       }); 
      } 
     }); 
    }); 
</script> 

<input id="fileupload" type="file" name="files" multiple="multiple"/> 

Se non lo hai, io vi invito a farlo.

+0

Ho letto la documentazione, ma ci sono molti esempi che funzionano in modo diverso. Per questo ho bisogno di un chiaro esempio da cui partire. Grazie, @darin – rspaz16

+0

@Darin Dimitrov: non per dirottare questo thread ma potresti fornire alcune indicazioni su un thread simile, http://bit.ly/HMkiWx per quanto riguarda il routing sul post? Ogni informazione sarebbe molto gradita. – JaJ

+3

18.168 risposte fin d'ora. Stai scherzando, voglio dire, devi avere cloni di te stesso che fanno il pesante sollevamento ... Sei vicino o Skeet. : D hehehe. Grazie ancora e ancora e ancora Darin per l'incredibile quantità di aiuto. –