使用Unity WebGL通过PHP下载文件



我在Unity WebGL中使用PHP,可以成功创建图像并将其保存在服务器上。我现在想通过我的Unity程序通过PHP运行的浏览器下载该图像。当通过Unity访问PHP脚本时,不会出现下载,但如果我手动输入URL,它会很好地工作。

以下是我正在使用的PHP脚本:

$file_url = __DIR__ . "/IMAGES/OUTPUT_IMAGES/TEST_.png";
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename="" . basename($file_url) . """); 
ob_clean();
flush();
readfile($file_url); 
exit(); 

以下是Unity中调用此脚本的C#代码:

uwr = UnityWebRequest.Get(DownloadImageURL);
yield return uwr.SendWebRequest();
if (uwr.result == UnityWebRequest.Result.ConnectionError)
{
print("Error downloading file: " + uwr.error);
}

这是浏览器控制台的屏幕截图

我发现了一个与我想要的有点不同的解决方案。我最终在Unity中使用了Application.OpenURL(),URL是下载该文件的php脚本。基本上,我无法使用UnityWebRequest.Get下载任何带有readfile的内容,但它可以使用Application.OpenURL

最新更新