c# - 如何使用 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=
解决方案
使用获取原始正文ReadAsStringAsync
,然后使用Convert.FromBase64String()将其转换为字节。
string base64 = await request.Content.ReadAsStringAsync();
byte[] bytes = Convert.FromBase64String(base64);
System.IO.File.WriteAllBytes("test.pdf", bytes);
推荐阅读
- android - 禁用 RecyclerView 按钮
- java - 使用 SmsManager 从内部类发送短信不起作用
- ios - 在 iOS 上使用激活事件时,Firebase A/B 测试不计算用户数
- database - 具有大数据集的 Firestore where 子句
- jsf - 如何从包含 Bean 中设置注入的 CDI bean 的 bean 属性?
- spring - 尽管存在弹簧安全依赖性,如何禁用弹簧安全登录页面?
- c# - 如何使用(Jquery)或(Jquery and Ajax)将数据插入到 mvc 核心中的详细信息表中
- git - Jenkins 多分支管道中带有 BitBucket Notifier 的“java.lang.Exception:None 或多个 repos”
- javascript - 将视觉上在一起的节点分组
- javascript - onbeforeunload 更改对话框的 UI 或使用自定义