首页 > 解决方案 > 如何使用 C# 在 ASP.NET Core Web API 中处理传入的 pdf?

问题描述

我正在用 C# 构建一个 ASP.NET Core Web API。我在请求正文中收到一个 PDF 文件。

当我编写请求正文的字节时,我得到一个具有 base64 字符串的文件(应该对其进行解码以获得实际的 PDF)。

我不知道下一步该怎么做..请指教..

var ms = new MemoryStream((int)Request.ContentLength);
req.CopyToAsync(ms).GetAwaiter().GetResult();
System.IO.File.WriteAllBytes("test.pdf", ms.ToArray());

当我打开时test.pdf,我得到如下内容:

JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBl............cnR4cmVmDQoxODkzOQ0KJSVFT0Y=

标签: c#pdfasp.net-core-webapi

解决方案


使用获取原始正文ReadAsStringAsync,然后使用Convert.FromBase64String()将其转换为字节。

string base64 = await request.Content.ReadAsStringAsync();
byte[] bytes = Convert.FromBase64String(base64);
System.IO.File.WriteAllBytes("test.pdf", bytes);

推荐阅读