C# 用AJax和MVC上传文件
我发现了多个文件上传的例子,但大多数都使用表单或它本身,唯一传递的是文件 我已经有一个页面通过Ajax将数据传递给控制器。我想在现有的Ajax调用中添加一个文件上传选项。该文件将存储在sql数据库中,因此我假设需要传递数据或将其转换为字节数组 我的ajax调用如下所示:C# 用AJax和MVC上传文件,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我发现了多个文件上传的例子,但大多数都使用表单或它本身,唯一传递的是文件 我已经有一个页面通过Ajax将数据传递给控制器。我想在现有的Ajax调用中添加一个文件上传选项。该文件将存储在sql数据库中,因此我假设需要传递数据或将其转换为字节数组 我的ajax调用如下所示: $("#btnNewTicket").click(function () { //Grabbing the Click Event of btnNewTicket var ne
$("#btnNewTicket").click(function () { //Grabbing the Click Event of btnNewTicket
var newTickTitle = $("#txtNewTickTitle").val();
var newTickDesc = $("#txtNewTickDesc").val();
var newTickCat = $("#ddCatList").val();
$.ajax({
url: '@Url.Action("AddTicket","HelpDesk")',
data: { 'TickTitle': newTickTitle, 'TickDesc': newTickDesc, 'TickCat': newTickCat },
type: 'GET',
success: function (data) {
$("#loadpartial").empty();
alert("Ticket Successfully Submitted");
window.location.reload();
},
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
alert(xhr.status);
}
});
有没有一个相当直接的方法可以简单地做到这一点?比如基本上在Ajax调用中添加另一个变量?上传文件似乎很简单。或者我无法意识到它到底有多复杂 有一些插件可以通过ajax上传文件。最近,我在asp.net mvc应用程序中通过ajax上传了这个文件 我还做了一个关于ajax文件上传的教程,它没有插件,但它使用jquery和iframe方法通过ajax上传文件
出于好奇,为什么在使用ajax时会有window.location.reload()?GET应该只用于检索信息No、use put或Post如果支持
FormData
和File API
,则可以通过jQuery使用$.ajax()方法上载文件(这两种功能都支持HTML5)。参考链接:-