$filepath = $project->logopath;
$fullpath = "app/$filepath";
return response()->download(storage_path($fullpath), null, []);
我现在准备进入生产阶段,我在S3磁盘上的文件有问题。我有一个控制器,用于管理我的上传。上面的代码在本地磁盘上工作正常。
我能够将文件上传到我的s3磁盘。
问题:
如何在s3上检索文件的正确路径? 我已经尝试过;
$path = Storage::disk('s3')->path($filepath);
答案 0 :(得分:0)
如果您想查看s3文件。您需要公共URL而不是路径。您可以这样获得:
$url = Storage::disk('s3')->url($filename);
如果您希望公众可以使用图片,请不要忘记在上传过程中将public
作为第三个参数传递。喜欢:
Storage::disk('s3')->put($fileName, $fileContents, 'public');
答案 1 :(得分:0)
要在Store
上的s3
文件中,您需要执行以下操作。
假设我想在s3
上存储某种日志
$path ='logs/'.$request->logs->getClientOriginalName();
$s3 = Storage::disk('s3')->put($path,file_get_contents($request->logs),'public');
Model::create([
'path' => $path
])
要获取该文件路径,您可以执行以下操作(您已经正确执行了操作)
$path = Storage::disk('s3')->path($filepath);
注意:我正在使用file_get_contents将文件流传输到s3,以便在文件太大的情况下不会导致服务器泄漏内存