我有以下代码,但没有在浏览器进度条中下载大文件;它只是看起来像是永远加载。适用于所有浏览器,除了任何Microsoft浏览器。这是一个exe文件。
require 'aws/aws-autoloader.php';
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'us-east-1'
]);
$cmd = $s3->getCommand('GetObject', [
'Bucket' => 'download.phppointofsale.com',
'Key' => $filename,
'ResponseContentDisposition' => 'attachment',
'ResponseContentType' => 'application/octet-stream'
]);
$request = $s3->createPresignedRequest($cmd, '+20 minutes');
// Get the actual presigned-url
$presignedUrl = (string) $request->getUri();
header('Location: '.$presignedUrl);
答案 0 :(得分:3)
在多年来一直运作良好之后,我突然遇到了同样的问题。
我将其跟踪到Windows Defender SmartScreen,默认情况下在Edge中处于活动状态。一旦我停用它,下载工作正常。
可在此处找到该设置:
似乎这是Edge中的已知问题,并且已得到Microsoft Edge团队的确认:https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12166637/