我正试图上传超过7mb大小的图像,在点击服务器端操作方法“500内部服务器错误”之前,低于7mb的图像很容易上传。
下面我将以angular格式将文件序列化为base64字符串。
$scope.UploadSysFiles = function (event){
var file = event.target.files;
var reader = new FileReader();
reader.readAsDataURL(file[0]);
reader.onload = () => {
$scope.SysFileByteCode = reader.result;
};
$scope.SysFiles = file[0];
}
并将所有值存储在一个对象中,以便发送到服务器端类对象,如下所示
$scope.SystemAccesories[rowIndex] = {};
$scope.SystemAccesories[rowIndex].ManualFile = $scope.SysFileByteCode;
$scope.SystemAccesories[rowIndex].FileName = $scope.SysFiles.name;
$scope.SystemAccesories[rowIndex].FileSize = $scope.SysFiles.size;
$scope.SystemAccesories[rowIndex].ContentType = $scope.SysFiles.type;
$scope.SystemAccesories[rowIndex].IsManualFileAvailable = true;
现在发送到服务器端,如下所示
$http({
method: 'POST',
url: 'http://localhost:*****/Accesories/UpdateAccesories',
data: { objSystemAccesories: $scope.SystemAccesories},
headers: { 'content-type': 'application/json' }
}).then(function (response) {
//after get success, further steps
}
});
在后端,我创建了一个对象类文件,并在action方法中获取值,如下所示
public class SystemAccessories
{
public string ManualFile { get; set; }
public string FileName { get; set; }
public string FileSize { get; set; }
public string ContentType { get; set; }
public Nullable<bool> IsManualFileAvailable{ get; set; }
}
[HttpPost]
public ActionResult UpdateAccesories(SystemAccesories objSystemAccesories)
{
//deserialize to byte array annd upload code
}
我已经更新了 web.config
按下面的代码归档
<system.web>
<httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" executionTimeout="3600" requestLengthDiskThreshold="2147483647"/>
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647"></requestLimits>
</requestFiltering>
</security>
</system.webServer>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
但仍然得到相同的问题,没有变化
1条答案
按热度按时间cigdeys31#
在里面
web.config
还有一行要添加<appSettings>
```