我正在向用户提供一个 APK 文件以供其在移动设备上下载,但不知何故其扩展名发生了更改,并且附加了 .zip。下面是我的代码:
return response()->download(public_path('/releases/' . $APKFile),'app-release.apk',['Content-Type: application/vnd.android.package-archive']);
使用上述代码,当用户在 Android 设备(特别是 Chrome Mobile)上下载 app-release.apk 文件时,下载时该文件将变为 app-release.apk.zip。
但这在台式机和个人电脑上运行得很好。
标题格式似乎有问题,要么输入错误,要么缺少指定文件是 .apk 的信息,所以这里是代码
public function downloadApk()
{
$filePath = public_path('File_Storage/Application.apk');
$headers = [
'Content-Type' => 'application/vnd.android.package-archive',
'Content-Disposition' => 'attachment; filename="Application.apk"',
];
return response()->download($filePath, 'Application.apk', $headers);
}
.apk 文件存储在 public/File_Storage/ 中,此代码在 Laravel 8 上运行良好。