我正在寻找一种很好的方法将MVC ActionResult保存为byte数组(文件)。这是因为我正在使用Rotativa将HTML视图转换为PDF。它可以很好地工作并在浏览器中返回给用户PDF文件。现在,我想从服务器发送电子邮件,并作为附件包含相同的PDF文件。对于发送电子邮件,我正在使用ActionMailer.Net nuget包。它有将byte数组作为附件的选项。
因此,我需要将我的PDF文件作为一个byte数组传递给发送邮件的方法。但是返回PDF的操作的返回类型是ActionResult而不是FileStreamResult(不幸的是)。我不太清楚为什么会做出这个选择,但就是这样。
Rotativa软件包使用Wkhtmltopdf来进行HTML转换。我猜我可以自己实现这个过程,但那似乎有点无意义,因为我已经有了一个返回我所需结果的方法;我只需要一种将结果转换为byte数组的方法。
因此,我需要将我的PDF文件作为一个byte数组传递给发送邮件的方法。但是返回PDF的操作的返回类型是ActionResult而不是FileStreamResult(不幸的是)。我不太清楚为什么会做出这个选择,但就是这样。
Rotativa软件包使用Wkhtmltopdf来进行HTML转换。我猜我可以自己实现这个过程,但那似乎有点无意义,因为我已经有了一个返回我所需结果的方法;我只需要一种将结果转换为byte数组的方法。