我们正在将源数据库X导入目标数据库Y.
X有RTF格式的文本blob,它以某种方式显示在其应用程序中。
我们的网络应用无法显示RTF,因此我们被要求将这些RTF blob转换为数据库Y中的文件。
我们只是将X中的RTF blob({1}}复制到Y中的一列,我们已经用它来存储附件,类型为nvarchar
。然后,当用户想要查看文件时,我们将其写为文件varbinary
,这样他们就可以下载并在Word中打开RTF。
不幸的是foo.rtf
文件在Word中打开时,看起来像原始RTF,像
foo.rtf
为了将RTF“blob of text”正确转换为实际的RTF文件,我们需要做些什么?看起来只是保存字节不起作用。
谢谢。
答案 0 :(得分:1)
您是否使用扩展名.rtf保存文件 - 我知道Word打开RTF文件就好了(假设rtf当然有效)?
ADDED
其他的东西是错的,我做了一个网站,我用几千个用户生成.RTF文件,复杂程度低 - 没有一个关于打开它们的问题的抱怨
增加更多
请确保检查Web服务器是否为您的文件提供了正确的MIME文档类型(如果在浏览器中呈现)。 IIS,APache等以不同的方式执行此操作
答案 1 :(得分:0)
事实证明,源和目标编码是不同的。
我们使用了Cast(Cast(Value as Varchar(max)) as Varbinary)
,这使一切正常。