C# 把word转成2进制存储到SQL2000中的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 把word转成2进制存储到SQL2000中的问题相关的知识,希望对你有一定的参考价值。
用FileUpload控件上传一个word文档,把这个文档转成二进制存进SQL2000中,数据库中对应的类型是image。类似于EMAIL中的附件上传,上传后转二进制存到数据库中。对方收到EMAIL,从附件中取的时候,再从SQL2000中读取出WORD文件下载。需求是存成2进制,就别说存路径的方法了。
回复
1楼的:你真是高手,就你知道不合理。
2楼的:我试过,但是图片取的时候C#有IMAGE类型,WORD我存什么类型?
3楼的:我也用过序列化,但是反序列化的时候还是遇到了不知道存什么类型拿出来。
这个和把图片保存到数据库的原理是一模一样的。
==========
问题补充回答:
你把doc文档看作图片保存就可以了。在这儿,关键是保存二进制数据,你不要想的太复杂了。在二进制情况下,是没有任何格式的,所以也不存在图片或者doc了。你把从doc中取到的字节数组直接保存到image字段中即可。 参考技术B 存数据库是最傻的方法............如果客户硬来也没办法,是不是觉得备份方便?呵呵。
楼主参考存图片的一样的方法。例如http://topic.csdn.net/t/20021025/10/1123704.html。
在WORD那里其实也可以存IMAGE类型。在SQL SERVER 2000那里二进制共3种类型,其中binary和varbinary都要指定字节数,而IMAGE不需要。顺便说一下,如果有可能的话建议用SQL SERVER 2005,那里改良了TEXT类型和IMAGE类型,用VARCHAR(MAX)和varbinary(MAX)来代替,操作更灵活。
在字段那里再加一个字段定义文件的原始文件名。
取出的时候还是将读出内容转成byte[]就OK了。
参考资料:http://topic.csdn.net/t/20021025/10/1123704.html
参考技术C 数据库数据类型用binary存的时候转成byte []
读取的时候 (byte [])read.getvalue(列); 参考技术D 这种做法根本不合理 第5个回答 2008-07-04 序列化吧!
以上是关于C# 把word转成2进制存储到SQL2000中的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用C#将包含文字、图片和表格的二进制数据写入到word文件中