我正在使用abcPDF动态创建PDF。
我想保存这些PDF供客户检索他们想要的任何时间。最简单的方法(也是我现在在当前服务器上所做的方法)是简单地将完成的PDF保存到文件系统中。
似乎我一直在使用blobs。幸运的是,abcPDF既可以保存为流,也可以保存为文件。现在,如何将一个流连接到一个blob?我找到了显示blob获取流的代码,如下所示:
blob.UploadFromStream(theStream, options);abcPDF函数如下所示:
theDoc.Save(theStream)我不知道如何弥合这个鸿沟。
谢谢!布拉德
发布于 2012-08-31 03:22:50
考虑到这种情况,并且不知道abcPdf的Save()方法的重载的完整列表,您似乎需要一个MemoryStream。类似于:
using(MemoryStream ms = new MemoryStream())
{
theDoc.Save(ms);
ms.Seek(0, SeekOrigin.Begin);
blob.UploadFromStream(ms, options);
}这将完成这项工作。但是,如果您正在处理大文件,并且您预计会有大量的流量(大量同时创建PDF ),那么您可能只需要一个临时文件。将PDF写入临时文件,然后立即上载blob的临时文件。
发布于 2012-08-31 14:41:46
作为一种不需要将整个文件保存在内存中的替代方法,您可以尝试这样做:
using (var stream = blob.OpenWrite())
{
theDoc.Save(stream);
}编辑
在这里补充一点:如果save方法需要一个可查找的流,我认为这是行不通的。
https://stackoverflow.com/questions/12203791
复制相似问题