Asp.net核心上传文件大小错误



我用asp.net Core编写了一个文件上传函数,并用Angular httpclient调用该函数但问题是服务器端的文件大小更大,当保存时,文件会损坏

例如,大小为43 KB的图像文件在服务器端变为79 KB

可以说文件的大小是的两倍

并且大于30 MB的文件没有这个问题

api

[Authorize]
[HttpPost("[action]") ]
[RequestFormLimits(MultipartBodyLengthLimit = 309715200)]
[RequestSizeLimit(309715200)]
public async Task<IActionResult> Upload(IFormFile file )
{
try
{       
if (file.Length > 0)
{

using (var ms = new MemoryStream())
{
file.CopyTo(ms);
var fileBytes = ms.ToArray();
var filelist =  _fileManager.SaveFile(file.FileName,fileBytes);
if (filelist == null)
return BadRequest();
return Ok(new {
nofile = filelist.StreamId
});                  
}
}
else
{
return BadRequest();
}
}
catch (Exception ex)
{
return StatusCode(500, "Internal server error");
}
}

角度

UploadFile(file:any ): Observable<any>
{

const formData: FormData = new FormData();
formData.append('file', file);
let headers = new HttpHeaders();
headers = headers.set(
'Content-Type',
'multipart/form-data;'
);
return    this._httpClient
.post(this.uploadUrl,formData,{ reportProgress: true, observe: 'events' }
)
}

我的问题解决了,我有一个中间件替换了一系列字符,禁用它解决了问题

最新更新