我正在将PDF传输到MVC控制器,将PDF保存到数据库并检索它。如果我将PDF保存到服务器端的磁盘上(在返回文件结果之前),它看起来很好。但是,当我做类似于以下的事情时:
return File(fileBytesFromDB, "application/pdf", "file.pdf");
并尝试从浏览器(任何浏览器)查看它,PDF似乎已损坏。事实上,它的大小完全不同。
我错过了什么?
答案 0 :(得分:0)
我找到了。我的一个同事在一个tokenizer中添加了一个返回动作的装饰器,它正在标记文件流。我添加了一些逻辑来忽略FileStreamResult
和FileContentResult
,现在PDF出来了。
答案 1 :(得分:0)
我还找到了另一个解决方案。在我们的数据库中,我们的表将文件路径,名称,mimetype存储为nchar(255),这是一个固定的字符数。即使使用.Trim(),添加的空格也无法使用FileResult方法。通过将列更改为varchar
来解决我的特定问题