Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Laravel存储从AWS S3下载文件并在下载后删除_Php_Laravel_Amazon S3 - Fatal编程技术网

Php 如何使用Laravel存储从AWS S3下载文件并在下载后删除

Php 如何使用Laravel存储从AWS S3下载文件并在下载后删除,php,laravel,amazon-s3,Php,Laravel,Amazon S3,我正在重新设计Laravel存储驱动程序,以便使用Amazon S3而不是本地。到目前为止一切都很好。 问题是我不能再使用存储路径了(我想是的) 我在需要的地方发现代码的问题: 创建文件(例如pdf)(这里都很好) 显示已成功创建文件的响应。(这里一切都好) 重定向到另一个URL,在那里我检查文件是否存在。(这里一切都好) 如果文件存在,请下载(此处一切正常) 下载后删除(不知道如何删除) S3之前的工作代码: return response()->下载(存储路径('app/folder/'.$

我正在重新设计Laravel存储驱动程序,以便使用Amazon S3而不是本地。到目前为止一切都很好。 问题是我不能再使用存储路径了(我想是的)

我在需要的地方发现代码的问题:

  • 创建文件(例如pdf)(这里都很好)
  • 显示已成功创建文件的响应。(这里一切都好)
  • 重定向到另一个URL,在那里我检查文件是否存在。(这里一切都好)
  • 如果文件存在,请下载(此处一切正常)
  • 下载后删除(不知道如何删除)
  • S3之前的工作代码:

    return response()->下载(存储路径('app/folder/'.$path./'.$filename),$filename)->deleteFileAfterSend(true);
    
    尝试(在不删除的情况下工作):

    返回存储::下载('folder/'.$path./'.$filename,$filename);
    
    尝试(如果要删除,则不工作):

    return Storage::download('folder/'.$path.'/'.$filename,$filename)->deleteFileAfterSend(true);
    返回存储::下载('folder/'.$path.'/'.$filename,$filename)->删除('app/folder/'.$path.'/'.$filename,$filename);
    return response()->download(存储::get('folder/'.$path.'/'.$filename),$filename)->deleteFileAfterSend(true);
    
    存储驱动程序是带有根“app”的“s3”,这就是为什么存储中缺少::driver('s3)


    我不知道是否有任何方法可以重新编写代码,以便按此顺序工作。或者必须完全重新设计创建->下载->删除后的想法?

    找到解决方案了吗?找到解决方案了吗?