我有一个奇怪的问题。我正在制作一个C#MVC应用程序,该应用程序生成PDF并提供带有下载按钮的下载。
println(3)
突然之间,无法通过File.ReadAllBytes()或Memorystream(或任何其他流)将PDF文件正确转换为byte []。
当我使用Memorystream时,在ReadTimeOut和WriteTimeOut上都收到InvalidOperationException。
我在一个新的C#MVC项目中实现了上述代码,一切正常。因此问题必须出在我正在从事的项目中。
编辑:
当我读出字节时,它确实返回了一个完整的字节数组,但是当将其下载并转换回PDF时,PDF是空的(所有页面的确存在),并且名称是一些奇怪字符的集合。 / p>
在新项目中,它只是应有的普通PDF。
有人知道这可能是什么,我怎么解决? (如果需要,我可以澄清更多)
答案 0 :(得分:0)
尝试类似this的内容:
public ActionResult Download()
{
string url = (string)TempData["url"];
using (WebClient client = new WebClient())
{
// Download data.
byte[] thePdf = client.DownloadData("http://url-to-your-pdf-file.com/file1");
return File(thePdf,"application/pdf");
}
}
答案 1 :(得分:0)
似乎我在FilterConfig中一行或两行过多。我添加了2个自定义过滤器,这似乎弄乱了所有内容。现在,我删除了它们,一切又恢复了!