使用 laravel 响应下载方法提供的 APK 文件在 Chrome Mobile 上更改了扩展名

问题描述 投票:0回答:1

我正在向用户提供一个 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。

但这在台式机和个人电脑上运行得很好。

php laravel download apk laravel-8
1个回答
0
投票

标题格式似乎有问题,要么输入错误,要么缺少指定文件是 .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 上运行良好。

© www.soinside.com 2019 - 2024. All rights reserved.