在 Asp.net 中使用 Ajax 发布 Multipart 和字符串内容 Web API

Posted

技术标签:

【中文标题】在 Asp.net 中使用 Ajax 发布 Multipart 和字符串内容 Web API【英文标题】:Posting Multipart and string content web API using Ajax in Asp.net 【发布时间】:2021-07-28 12:05:11 【问题描述】:

我有多部分内容 Web API。这工作正常。并在邮递员中测试。 现在我正在尝试使用 ajax post 方法在我的 asp.net Web 应用程序中使用该 Web api。我在谷歌中引用了一些编码并应用了。但它最终显示错误。我不知道我在做什么错误。我正在使用 .Net Framework 4.5。我的 api 的编码和邮递员执行如下。

                var data = new FormData();
                jQuery.each(jQuery('#fileupload')[0].files, function (i, file) 
                    data.append('file', file);
                );

                data.append('siteCode', 'HQ');
                data.append('phoneNumber', '95878784XXX');
                data.append('customerCode', 'C001');
                data.append('notificationFlag', '1');

                $.ajax(
                    type: 'POST',
                    url: SequoiaUri + "api/profilePicture",
                    contentType: "application/json; charset=utf-8",
                    data: data,
                    dataType: "json",
                    Cache: false,
                    processData: false,
                    success: function (data) 
                        alert("Picture Uploaded Successfully!");
                    
            

谁能帮我看看我的 ajax post 方法有什么错误...

【问题讨论】:

可以分享一下你的控制器的动作方法吗? 【参考方案1】:

试试这个:

$.ajax(
    url: SequoiaUri + "/api/profilePicture",
    data: data,
    type: 'POST',
    //enctype: 'multipart/form-data',  // try if still is not working
    contentType: false, 
    processData: false, 
   success: function (data) 
   alert("Picture Uploaded Successfully!");
                    ,
.....

【讨论】:

以上是关于在 Asp.net 中使用 Ajax 发布 Multipart 和字符串内容 Web API的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.net 中使用 Ajax 发布 Multipart 和字符串内容 Web API

使用 jQuery 在 ASP.NET 中进行 AJAX 回调

无法在 asp.net 核心中使用 ajax 将 json 发布到控制器

在 Razor 视图中使用 Ajax 进行 Asp.Net Core 表分页

ASP.NET 使用Ajax

在 DataTable Delete 操作中多次发送 Ajax 请求 - ASP.NET、JQuery、Ajax