Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 通过SQL Server将RTF blob发送到文件_Sql Server_Rtf - Fatal编程技术网

Sql server 通过SQL Server将RTF blob发送到文件

Sql server 通过SQL Server将RTF blob发送到文件,sql-server,rtf,Sql Server,Rtf,我们正在将源数据库X导入目标数据库Y X有RTF格式的文本块,它们以某种方式显示在其应用程序中 我们的web应用程序无法显示RTF,因此我们被指示将这些RTF块转换为数据库Y中的文件 我们只需将RTF blob从X(其中为nvarchar)复制到Y中的一列中,该列已经用于存储附件,类型为varbinary。然后,当用户想要查看它时,我们将它写成一个文件foo.rtf,这样他们就可以下载并在Word中打开rtf 不幸的是,foo.rtf文件在Word中打开时看起来就像原始rtf,类似于 {\rtf

我们正在将源数据库X导入目标数据库Y

X有RTF格式的文本块,它们以某种方式显示在其应用程序中

我们的web应用程序无法显示RTF,因此我们被指示将这些RTF块转换为数据库Y中的文件

我们只需将RTF blob从X(其中为
nvarchar
)复制到Y中的一列中,该列已经用于存储附件,类型为
varbinary
。然后,当用户想要查看它时,我们将它写成一个文件
foo.rtf
,这样他们就可以下载并在Word中打开rtf

不幸的是,
foo.rtf
文件在Word中打开时看起来就像原始rtf,类似于

{\rtf1\ansi\ansicpg1252\deff0\deftab1134{\fonttbl{....
为了正确地将这个RTF“文本块”转换为实际的RTF文件,我们需要做什么?看起来仅仅保存字节是行不通的


多谢各位

您是使用扩展名.rtf保存文件的吗?我知道Word可以用这种方式打开rtf文件(当然,假设rtf是有效的)

增加

还有一点是错误的,我在一个网站上生成了.RTF文件,有几千个用户,但复杂程度很低——没有一个用户抱怨在word中打开它们时出现问题

增加更多


确保检查web服务器是否为文件提供了正确的MIME文档类型(如果在浏览器中呈现)。IIS、APache等。以不同的方式执行此操作

您是否使用扩展名.rtf保存文件--我知道Word以这种方式打开rtf文件很好(当然,假设rtf有效)

增加

还有一点是错误的,我在一个网站上生成了.RTF文件,有几千个用户,但复杂程度很低——没有一个用户抱怨在word中打开它们时出现问题

增加更多


确保检查web服务器是否为文件提供了正确的MIME文档类型(如果在浏览器中呈现)。IIS、APache等以不同的方式执行此操作

结果表明源代码和目标代码是不同的。
我们使用了
Cast(Cast(值为Varchar(max))作为Varbinary)
,这使得一切工作正常。

结果表明源代码和目标代码是不同的。
我们使用了
Cast(Cast(值为Varchar(max))作为Varbinary)
这使得一切都正常工作。

是的,我们保存为.rtf,双击它在Word中打开。但在文字上它看起来像原始RTF。谢谢。您关于“在浏览器中渲染”的评论很有用,我们也应该看看您在做什么。是的,我们将其另存为.rtf,双击它将在Word中打开。但在文字上它看起来像原始RTF。谢谢。您关于“在浏览器中渲染”的评论很有用,我们也应该看看您在做什么。