代码:
/*
.... Code to authenticate to my mysql and verify that we are an legal user.
*/
$type = mysql_result($AllResult, 0, 'file_type');
$size = mysql_result($AllResult, 0, 'file_size');
$name = mysql_result($AllResult, 0, 'file_name');
$data = mysql_result($AllResult, 0, 'file_content');
session_write_close();
ob_clean();
mysql_close();
header("Content-Transfer-Encoding: binary");
header("Content-type: $type");
header("Content-length: $size");
header("Content-Disposition: attachment;filename=$name");
header("Content-Description: PHP Generated Data");
echo "$data";
我已经制作了一个PHP代码,用于从我的数据库中的longblob下载文件并将其保存到用户计算机。此代码在Opera和Firefox上完美运行。但是,在IE和谷歌浏览器上 - 如果该程序没有Microsoft SmartScreen许可证 - 它将提示对话框'...名称...通常不会下载并且可能会损害您的计算机'
插图:
然而;我想知道我是否可以更改标题,或者如果可以获得对话框'此文件可能会损害您的计算机。你想保留.....反正吗? [保持] [DISCARD]
说明我正在谈论的对话:
更新:我尝试使用内联和附件同时使用内容处理
答案 0 :(得分:0)
至少从Chrome端到目前为止,无法禁用此通知。您看到“此类型的文件可能会损害您的计算机”,因为您的下载扩展名是可执行的(即.exe,.dll等)。这可能也是微软的情况。我知道如果文件“通常下载”(即他们看到很多人),微软的系统将会退出抱怨 下载相同的文件)。如果有一个标题可以绕过这个通知,对用户来说是不利的。
您可以通过确保您的下载名称具有不可执行的扩展名(例如.txt,.html等)来完全避免这种情况,因此浏览器供应商通常不会将其视为高优先级威胁。