如何删除请求正文流中接收的前缀和后缀。由于Stream具有下面显示的前缀和后缀,因此Excel文件被视为损坏。
前缀:
后缀:
发布于 2022-08-30 21:40:33
这段代码适用于我
[HttpPost, Route("UploadExcel")]
public async Task<IActionResult> UploadExcel()
{
var request = HttpContext.Request;
if (!request.HasFormContentType ||
!MediaTypeHeaderValue.TryParse(request.ContentType, out var mediaTypeHeader) ||
string.IsNullOrEmpty(mediaTypeHeader.Boundary.Value))
{
return new UnsupportedMediaTypeResult();
}
var reader = new MultipartReader(mediaTypeHeader.Boundary.Value, request.Body);
var section = await reader.ReadNextSectionAsync();
while (section != null)
{
var hasContentDispositionHeader = ContentDispositionHeaderValue.TryParse(section.ContentDisposition,
out var contentDisposition);
if (hasContentDispositionHeader && contentDisposition.DispositionType.Equals("form-data") &&
!string.IsNullOrEmpty(contentDisposition.FileName.Value))
{
var fileuploadPath = "D:\\test\\test.xlsx";
using (var targetStream = System.IO.File.Create(fileuploadPath))
{
await section.Body.CopyToAsync(targetStream);
}
return Ok();
}
section = await reader.ReadNextSectionAsync();
}
return Ok();
}
摘自此Microsoft文档:ASP.NET内核中的文件上传
发布于 2022-08-30 07:02:35
步骤:
详情请参阅"删除WebKitFormBoundary中的C#“和"如何从上传的文件中删除标题信息?”。
希望这能帮到你。
https://stackoverflow.com/questions/73531330
复制相似问题