之前从未这样做过,所以不确定它涉及到什么。我做了搜索并找到了许多答案,但它们比我需要的更复杂。例如,他们需要放大,生成,创建准确的缩略图,在网页中嵌入实际的PDF等......但我的问题更简单: 如果我在网页上显示他的信息的人有一些PDF显示我只想在页面上放置一个通用的PDF图标,人们点击它就会在浏览器的新标签页中打开实际的PDF。 /强>
这样做涉及什么? 它不像文件路径,PDF在SQL Server中保存为二进制对象,或者它在SQL Server中保存的任何内容..它不是服务器上的文件磁盘路径
答案 0 :(得分:6)
您的代码表示asp.net-mvc。
创建一个控制器来处理PDF文件的请求
伪:
[RoutePrefix("Pdf")]
public class PdfController : Controller {
[Route("{id}"]
public ActionResult GetPDF(int id) {
//...Code to extract pdf from SQLServer and store in stream
Stream stream = GetDataFromSQLServerById(id);
return File(stream,"filename.pdf");
}
}
在客户端
<a href="/Pdf/123456" target="_blank">
<img src="images/pdficon.jpg">
</a>
更新
参考@ ChrisPratt的评论; (我忘记在答案中加入)
锚标记上的target
属性将告诉浏览器在新标签中打开链接。
答案 1 :(得分:1)
为您的链接创建一个Controller操作
<a href="<controller/action/databaseRecordId>" target="_blank">
<img src="<image-path>">
</a>
查看代码
:my_object