首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Excel上载到Web .net 6、前缀和后缀WebKitFormBoundary

将Excel上载到Web .net 6、前缀和后缀WebKitFormBoundary
EN

Stack Overflow用户
提问于 2022-08-29 15:46:32
回答 2查看 333关注 0票数 1

如何删除请求正文流中接收的前缀和后缀。由于Stream具有下面显示的前缀和后缀,因此Excel文件被视为损坏。

前缀:

后缀:

EN

回答 2

Stack Overflow用户

发布于 2022-08-30 21:40:33

这段代码适用于我

代码语言:javascript
复制
[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内核中的文件上传

票数 1
EN

Stack Overflow用户

发布于 2022-08-30 07:02:35

步骤:

  1. 将文件数据转换为内存流,可用于读取文件内容。
  2. 使用StreamReader读取文件内容并删除默认编码格式的webkitformBoundary标头。
  3. 从顶部删除前4行代码,包括webkitformBoundary。
  4. 从页脚删除webkitformBoundary的代码。
  5. 将字符串转换为具有默认编码格式的Byte,以维护文件编码格式。

详情请参阅"删除WebKitFormBoundary中的C#“和"如何从上传的文件中删除标题信息?”。

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73531330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档