Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用AJax和MVC上传文件_C#_Jquery_Asp.net Mvc - Fatal编程技术网

C# 用AJax和MVC上传文件

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

我发现了多个文件上传的例子,但大多数都使用表单或它本身,唯一传递的是文件

我已经有一个页面通过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调用中添加另一个变量?上传文件似乎很简单。或者我无法意识到它到底有多复杂

有一些插件可以通过ajax上传文件。最近,我在asp.net mvc应用程序中通过ajax上传了这个文件

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


出于好奇,为什么在使用ajax时会有window.location.reload()?GET应该只用于检索信息No、use put或Post如果支持
FormData
File API
,则可以通过jQuery使用$.ajax()方法上载文件(这两种功能都支持HTML5)。参考链接:-