我有一个 Rails 应用程序,除其他外,它是内部客户查看保存的业务文档的另一种方式。word docs 电子邮件和 PDF 通过 Access 10 应用程序输入到我在 SQL Server 10 上运行的数据库中,并通过文件下载嵌入到 Access 中的绑定对象框架控件中。
二进制数据与相关记录一起保存到 sql 数据库后端。使用访问前端可以轻松存储和读取文档,但是我无法将文件从数据库中取出并通过 Rails 应用程序发送到客户端。
存储文档的字段是 SQL Server varbinary(max) 字段。
我尝试通过以下方式阅读将其发送到浏览器。
doc = @attachment.document
send_data doc, :filename => 'foo.docx'
浏览器生成文件下载/打开对话框并将其识别为 MS Word 文档,但交付的文件是不可读的(即使它提供了大约正确的字节数。)
例如,当我尝试使用 word 文档时:
send_data doc, :type => "application/msword", :filename => 'foo.docx'
我从控制器收到以下错误:
"\x8F" to UTF-8 in conversion from Windows-1252 to UTF-8
建议,建议赞赏。