3 Stimmen

Übergeben eines HttpPostedFileBase-Typs mit $.Post oder $.Ajax

Ich habe diese Aktion in meinem Controller.

    public ActionResult Upload(HttpPostedFileBase fileData)
    {
        //code for uploading goes here.
        return View();
    }

Gibt es eine Möglichkeit, auf diese Aktion mit $.post oder $.Ajax zuzugreifen? in meinem siehe Ich habe diesen Code.

<input type="file" name="fileData" id="fileData" multiple/>
<button>Upload</button> 

zunächst versuche ich, diesen Code zu verwenden

$("button").on("click",function(){
   $.post('@Url.Action' + $(".filedata").val(),function(data){
      console.log(data);
   });
});

aber wenn ich versuche, den Punkt auf meinem " hochladen ", die Aktion " Archivdaten " hat eine Variable null Wert.

Ich weiß nicht, wo das Problem liegt. Ich hoffe, Sie können mir helfen, Leute.

0voto

Douglas Franco Punkte 591

Sie müssen einen IFRAME haben, der verwendet wird, um den Beitrag mit der Datei zu erstellen.

Zum Beispiel so:

<iframe id="targetUpload" name="targetUpload"></iframe>

Im Formular setzen Sie das Ziel auf den iframe.

<form target="targetUpload" name="file" runat="server" method="post" id="file" enctype="multipart/form-data" action="@Url.Content("~/Controller/Action")">

Und eine Schaltfläche "Senden

<input type="Submit" value="Upload">

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X