【发布时间】:2012-08-02 09:18:33
【问题描述】:
我的控制器中有这个动作。
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”变量有一个null 价值。
我不知道是什么问题。希望你们能帮帮我。
【问题讨论】:
-
您不能使用 Ajax 以这种方式上传文件。您必须使用
<iframe/>或其他asycn上传方法,如plupload.com或code.google.com/p/swfupload -
那么,最好的方法是什么?
-
啊,关于swfupload,和uploadify有关系吗?我试过uploadify,一切正常。我可以使用那个访问我的操作。但问题出在我的会议上。我的会话变量的值为空或 null,这就是我删除了 uploadify 的原因。
-
是的,这是一个令人讨厌的 Flash 错误。您必须手动将这些值添加到 uploadify 回发中。授权 cookie 也可能存在问题。
标签: jquery asp.net-mvc razor