0

我正在使用 DigitalOcean Spaces (S3 compatible) 来存储我的 Laravel 的应用程序文件。

现在我正在尝试使用以下代码制作一个插入文本的 .txt 文件:

$file = Storage::disk('digitalocean')->put('generated-file/'.$title.'.txt', $content); 
return $file;

但是我得到一个布尔值而不是文件的路径,所以当我尝试使用这种方法获取完整的 url 时:

Storage::disk('digitalocean')->url($file);

我得到一个错误的网址。我怎样才能实现我想做的事情?(制作一个新的 txt 文件,不要上传现有的文件,并在对象存储上获取他的公共 url)。

4

1 回答 1

0

put(...)(或一般的 CRUD 操作)大多数时候会以布尔值的形式返回操作的结果——true表示成功并false表示失败。

在这种情况下,$file将包含一个布尔值。

返回文件路径,然后将其传递url(...)以获取 URL。

$filePath = 'generated-file/'.$title.'.txt';
$result = Storage::disk('digitalocean')->put($filePath, $content); 
return $filePath;
Storage::disk('digitalocean')->url($filePath);
于 2021-10-27T16:31:57.133 回答