3

我的控制器中有这个动作。

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

有没有办法使用 $.post 或 $.Ajax 访问此操作?在我看来,我有这些代码。

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

首先,我尝试使用此代码

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

但是当我尝试在我的“上传”操作上打断点时,“ filedata ”变量的值为空

我不知道有什么问题。希望你们能帮助我。

4

1 回答 1

0

您需要有一个 IFRAME,用于使用该文件发布帖子。

像这样:

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

在表单中,您将目标设置为 iframe。

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

还有一个提交按钮

<input type="Submit" value="Upload">
于 2013-10-23T18:03:57.553 回答