如何将内存流写入pdf并导出?我在.net core 2工作。
[Authorize]
[HttpGet]
public IActionResult getPdfDate(int id)
{
ApplicationDbContext docs = new ApplicationDbContext();
var data = docs.UsersDocs.FindAsync(id);
MemoryStream ms = new MemoryStream(data.Result.doc);
}
答案 0 :(得分:0)
据推测,您的doc
属性是byte[]
,已经是" PDF"。因此,您只需使用适当的mime-type转储字节:
var data = await docs.UsersDocs.FindAsync(id);
return File(data.doc, "application/pdf");
正如@JamieTaylor指出的那样,你需要等待你的异步调用。否则,您将使线程死锁。另外,不要在行动中重新掌握上下文。在ConfigureServices
StartUp
中注册您的服务,然后将其注入您的控制器:
public class FooController : Controller
{
protected readonly ApplicationDbContext _context;
public FooController(ApplicationDbContext context)
{
_context = context;
}
...
}