如何使用Laravel Storage从AWS S3下载文件并将其删除

时间:2019-09-08 13:02:30

标签: php laravel amazon-s3

我正在重新设计Laravel Storage驱动程序以使其与Amazon S3一起使用,而不是与本地一起使用。到目前为止一切都很好。 问题是我不能再使用storage_path(我认为是这样)

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

  1. 创建文件(例如pdf)(一切正常)
  2. 显示有关文件已成功创建的响应。 (一切都很好)
  3. 重定向到另一个URL,在该URL中检查File是否存在。 (一切都很好)
  4. 如果文件存在下载(在这里一切正常)
  5. 下载后删除(不知道如何操作)

S3之前的工作代码:

return response()->download(storage_path('app/folder/'.$path.'/'.$filename), $filename)->deleteFileAfterSend(true);

尝试(不删除即可工作):

return Storage::download('folder/'.$path.'/'.$filename, $filename);

尝试(如果要删除则无法使用):

return Storage::download('folder/'.$path.'/'.$filename, $filename)->deleteFileAfterSend(true);

return Storage::download('folder/'.$path.'/'.$filename, $filename)->delete('app/folder/'.$path.'/'.$filename, $filename);

return response()->download(Storage::get('folder/'.$path.'/'.$filename), $filename)->deleteFileAfterSend(true);

存储驱动程序为“ s3”,根目录为“ app”,这就是为什么Storage :: driver('s3)....

中缺少

不知道有没有要重新编写代码以按此顺序工作。还是必须完全重做create-> download-> deleteAfter的想法?

0 个答案:

没有答案