使用AJax和MVC上传文件

时间:2014-09-11 13:43:48

标签: c# jquery asp.net-mvc

我找到了多个文件上传示例,但大多数都使用表单,或者它本身就是唯一传递的文件。

我有一个页面已经通过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调用中添加另一个变量一样?上传文件似乎很简单。或者我可能只是没有意识到它究竟是如何参与的。

1 个答案:

答案 0 :(得分:0)

有些插件可以通过ajax上传文件。最近我使用这个plugin通过asp.net mvc应用程序中的ajax上传文件。

ASP.NET MVC: Simple example of ajax file upload using jQuery

我还制作了关于ajax文件上传的教程,该教程没有插件,但它使用jquery和iframe方法通过ajax上传文件。

Asp.net mvc Ajax File Uploading using JQuery