2015-02-09 12 views
5

Obecnie postępuję zgodnie z instrukcjami, aby przetworzyć przesyłanie obrazu z kontrolki summernote w programie ASP.NET MVC Razor.Przesyłanie pliku Summernote na serwer

kod serwera:

[HttpPost] 
    public ActionResult UploadImage(HttpPostedFileBase file) 
    { 
     var imageUrl = UpdateProfilePicture(file); 
     return Json(imageUrl); 
    } 

I Client strona ajax:

<script> 
$('.summernote').summernote({ 
    height: 200, 
    focus: true, onImageUpload: function (files, editor, welEditable) { 
     sendFile(files[0], editor, welEditable); 
    } 
}); 
function sendFile(file, editor, welEditable) { 

    console.log(file); 
    $.ajax({ 
     data: {file:file}, 
     type: "POST", 
     url: "@Url.Action("UploadImage","Message")", 
     cache: false, 
     contentType: false, 
     processData: false, 
     success: function (url) { 
      editor.insertImage(welEditable, url); 
     } 
    }); 
} 

mam wynik na metody po stronie serwera, ale parametr HttpPostedFileBase file jest null

niektóre przykłady mówią, że działa, ale mój kod nie działa funkcjonalnie!

Wszelkie pomysły?

+0

Czy uda się go naprawić? – Stefanvds

+0

Co to jest reorganizacja pliku console.log (plik)? Myślę, że tej wartości nie można poprawnie przetłumaczyć na HttpPostedFileBase –

Odpowiedz

0

W swojej „żądanie” obiektu metoda użyć, aby uzyskać plik tak:

 [HttpPost] 
    public string UploadImage() 
    { 
     for (int i = 0; i < Request.Files.Count; i++) 
     { 
      var file = Request.Files[i]; 

      var fileName = Path.GetFileName(file.FileName); 

      var path = Path.Combine(Server.MapPath("~/Images/"), fileName); 
      file.SaveAs(path); 
     } 
     return YOUR UPLOADED IMAGE URL; 
    } 
Powiązane problemy