我正在使用 ASP.NET MVC3,我想在我的项目中使用上传器功能。
我点击了这个链接,是的,它确实有效: 文件上传 ASP.NET MVC 3.0
但我确实想要一种不同的方法。
我需要从 Jquery 调用上传器,在 jQuery 中它将调用一个控制器,该控制器将返回 true 或 false 的结果:
HTML 代码:
<div id="dialogUpload" title="Upload file" style="display:none;">
{
<input type="file" name="postedFile" class="button"/>
}
</div>
jQuery代码:
$("#dialogUpload").dialog({
maxheight: 400,
maxwidth: 400,
resizable: true,
draggable: false,
resizable: false,
modal: true,
buttons: [{
text: "Upload",
click: function () {
$.ajax({
type: "POST",
url: "Controller/UploadFile",
dataType: "json",
success: function (result) {
if (result == true) {
$("#dialogUpload").dialog("close");
ShowAlertMessage("File successfully Uploaded.");
}
else {
$("#dialogUpload").dialog("close");
ShowAlertMessage("Failed to upload the file.");
}
}
});
}
}]
});
在我的控制器内部将是这样的:
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase postedFile)
{
bool uploaded = false;
if (postedFile != null && postedFile.ContentLength > 0)
{
var fileName = Path.GetFileName(postedFile.FileName);
var path = Path.Combine("MYPATH",fileName);
postedFile.SaveAs(path);
uploaded = true;
}
return Content(uploaded);
}
我试过了,但它没有返回到我的 Jquery,所以无论成功与否,我都无法打印消息框。请帮忙。
谢谢。