大家好日子。从MS SQL下载数据时遇到一些问题。
当我尝试以标准方式从varbinary字段下载文件时,我在浏览器中获取字符串,如: string(26567)504B0304400600080002100F021EC .... 当我使用函数{{1然后我从查询中获得的#main.pl
use Schedular(
\%CONFIG,
do "default.pl"
);
#spawn new process for each schedule
Schedular::run_schedulue("some_schedule");
Schedular::run_schedulue("some_other_schedule");
#Schedular.pm
package Schedular;
our %schedules = undef;
our %config = undef;
sub import{
%config= shift @_;
%schedules = shift @_;
}
sub run_schedule{
#Run each event in schedule
}
sub do_something{
print("Hello World");
}
#default.pl
(
"some_schedule"=>[
sub {
#Event
Schedular::do_something();
},
sub {
#Event 2
}
],
"some_other_schedule"=>[
sub {
#Event 3
},
]
)
1;
数据只是将其写成文档中的字符串或PDF'文件,我无法打开它。
这个代码我用的。 [code sourse]
当我尝试在我的本地网络服务器上解决这个问题时( OpenServer with MySQL和php 5.6 )我得到了一个成功的结果,来自测试blob字段的所有文件都是下载正确,之后我可以在他们的程序中打开它们。
如果我在浏览器中写fopen
,我会看到�PNGIHDRA)y��sRGB���gAMA
但如果我尝试在Windows操作系统上重复此操作( IIS 7 + MS SQL 2008 R2 + php 5.6.30 ),我会收到一个文件( for例如:text.doc )具有正确的大小(例如:29Kb )但在850页面内有一个长字符串。如果我在浏览器中写fwrite
,我会看到字符串(49370)504B0304400600080002100F021EC ..
也许有人遇到过这个问题?