【发布时间】:2009-09-03 01:32:10
【问题描述】:
我将文件存储到 SQL Server 中的图像字段中,在转换为 using 后以十六进制存储字符串:
unpack("H*hex", $datastring);
如果我从数据库中读取并写入文件,然后在本地打开文件,我可以正常打开它。但是,如果我尝试将文件作为附件发送到浏览器,则文件会损坏且无法读取。目前,有问题的文件是 PDF 和 MSWord 文档。
我将 content-type 设置为文件的适当 MIME 类型,并将 content-disposition 设置为附件。我尝试了各种流式传输文件的方法,包括直接从数据库中转储字符串并首先写入文件然后读取文件(逐行或使用 readfile())。
我正在使用稍微定制的 Zend 框架版本,但我不确定这是否会导致任何问题。我应该怎么做才能将文件发送到浏览器?
【问题讨论】:
标签: php sql-server zend-framework file