我找到了多个文件上传示例,但大多数都使用表单,或者它本身就是唯一传递的文件。
我有一个页面已经通过Ajax将数据传递给控制器。我想为现有的Ajax调用添加一个文件上传选项。该文件将存储在sql数据库中,因此我假设我需要传递数据或将其转换为字节数组。
我的ajax电话看起来像这样:
$("#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调用中添加另一个变量一样?上传文件似乎很简单。或者我可能只是没有意识到它究竟是如何参与的。
答案 0 :(得分:0)
有些插件可以通过ajax上传文件。最近我使用这个plugin通过asp.net mvc应用程序中的ajax上传文件。
ASP.NET MVC: Simple example of ajax file upload using jQuery
我还制作了关于ajax文件上传的教程,该教程没有插件,但它使用jquery和iframe方法通过ajax上传文件。