我在数据库中上传了一些不同的blob类型(.pdf,.xls,.gif .png ...)。 现在我想显示它的图标(按类型)并在我的视图页面中读取它的blob内容,例如,如果这是一个pdf文件show pdf icon并双击该文件打开
请帮助我,谢谢
答案 0 :(得分:1)
您要做的事情包括两个部分:一个显示每个文件的链接(带图标)的视图页面和一个提供实际文件内容的单独操作(在您的一个控制器中)。
最简单的方法可能是在将文件上载到数据库中时分析文件类型,然后将文件类型存储在数据库的单独列中。对于大多数文件,您可以从文件的前几个字节派生文件类型(请参阅Magic Number)。
负责将文件内容传递给用户的控制器的操作很容易实现。根据文件的某些ID,它将它从数据库加载到一个字节数组中,并将其作为 FileContentResult 实例返回。
要创建指向该文件的链接(在您的视图页面中),只需使用 Html.ActionLink 或类似的函数,其中包含控制器名称,操作名称和文件ID。