JavaScriptSerializer 期间 ASP.NET MVC AngularJS 中的 MaxJsonLeng



我已经使用angularJS实现了图像上传页面。

html绑定部分和anguler控制器部分工作正常,但是问题是当我使用Ajax调用将带有上传图像(64个基本字符串(的对象传递到服务器端时。 它会给出一个错误,类似于">使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了在 maxJsonLength 属性上设置的值.....">

我试过添加

<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>

但它不起作用。

这是我下面的角度服务,

在我的角度服务中,"采购订单"是包含订单ID,价格,图像上传的对象(图像为64基本字符串(

'use strict';
appForm.factory('CheckoutService', function ($http) {
function CompleteCheckout(purchaseOrder) {
return $http({
method: 'POST',
url: '/Checkout/CompleteCheckout',
data: { "objPurchaseOrder": purchaseOrder }
}).then(function (results) {
return results.data;
})
};
return {
GetCartItems:GetCartItems
}});

我认为第一个问题是你的方法。不应在 base64 中上传文件。如果这样做,则会影响性能和网络使用情况。实际上,当您在base64中转换文件时,文件大小会自动增加到33%。因此,如果您的文件为 10MB,那么它将增加到 13MB。

因此,与其像这样上传文件内容,不如使用多部分实现。我已经给出了有关多部分文件上传的答案。你可以在这里检查它 使用 angularjs 在 MVC 中上传 Excel 文件。HttpPostedFileBase 为空

最新更新