如何在mvc页面中显示blob文件?
我在数据库中上传了一些不同的 blob 类型(.pdf、.xls、.gif、.png ...)。 现在我想显示它的图标(按类型)并在我的视图页面中读取它的 blob 内容,例如,如果这是一个 pdf 文件,则显示 pdf 图标,然后双击该文件打开,
请帮助我,谢谢
I uploaded some different blob type (.pdf, .xls, .gif. .png ...) in database.
now I want to show its icon (by type) and read its blob content in my view page, for example if this is a pdf file show pdf icon and by double clicking on that file open
please help me, thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您想要做的事情包括两部分:一个显示每个文件的链接(带有图标)的视图页面和一个提供实际文件内容的单独操作(在您的控制器之一中)。
最简单的方法可能是在将文件上传到数据库时分析文件类型,然后将文件类型存储在数据库中的单独列中。对于大多数文件,您可以从文件的前几个字节派生文件类型(请参阅 Magic数量)。
负责将文件内容传送给用户的控制器的操作很容易实现。根据文件的某些 ID,它将其从数据库加载到字节数组中,并将其作为 FileContentResult 实例返回。
要创建文件的链接(在您的视图页面中),只需使用 Html.ActionLink 或类似的函数以及控制器名称、操作名称和文件 ID。
What you want to do consists of two parts: a view page that displays a link (with the icon) for each file and a separate action (in one of your controllers) that delivers the actual file contents.
The easiest approach is probably if you analyze the file type when you upload the files into the database and then store the file type in a separate column in the database. For most files, you can derive the file type from the first few bytes of the files (see Magic Number).
The action of the controller responsible for delivering the file content to the user is straightforward to implement. Based on some ID of the file, it loads it from the database into a byte array and returns it as a FileContentResult instance.
To create a link to the file (in your view page), just use Html.ActionLink or a similar function with the controller name, action name and the ID of the file.