使用JSP从SQL Server 2008检索二进制数据[varbinary(max)]

这是我用来在SQL Server 2008中创建和插入二进制数据的查询 创建查询:
CREATE TABLE Employees (
Id int,
Photo varbinary(max) not null,
Name varchar(50) not null,
Sound varbinary(max) not null
)
插入查询:   INSERT INTO员工选择'10',   (SELECT BulkColumn AS E FROM   OPENROWSET(BULK'd: 1.jpg',   Single_Blob)bc),'John',(SELECT   BulkColumn AS E来自OPENROWSET(BULK   'd: 2.wav',Single_Blob)bc) 其中一个文件是.jpg,另一个是.wav 检索时如何知道这些文件的扩展名? 我是否必须使用查询来查找扩展名? 要么 在jsp中获取结果集后,我是否必须查看内容类型?     
已邀请:
您需要为数据库表添加内容类型或文件名/扩展名的另一列。这样,您可以将其插入二进制数据并稍后检索。 在Servlet中,您可以根据文件名/扩展名获取内容类型,如下所示:
String contentType = getServletContext().getMimeType(filename);
// ...
如果在插入之前执行此操作,则可以存储内容类型。如果在插入后执行此操作,则应该存储文件名。 servlet上下文中的默认mime类型在servletcontainer的
web.xml
中定义,例如Tomcat位于其
/conf/web.xml
中。你也可以添加另一个mime类型到你自己的
/WEB-INF/web.xml
,例如
<mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg-xml</mime-type>
</mime-mapping>
也可以看看: 如何检查上传的文件是否是图像?     

要回复问题请先登录注册