微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel中的Cloud Firestore存储上载媒体路径访问问题

如何解决Laravel中的Cloud Firestore存储上载媒体路径访问问题

我正在尝试访问在云存储分区文件夹中上传的图像,pdf和其他mime文件。 它易于上传,但无法访问其路径并无法下载Uri路径。 正如我已经通过单击媒体文件检查的那样,它的显示选项可以生成令牌以从我端上的Web上载图像,但是如果从应用程序上载相同的图像,则可以使用为其生成的访问令牌进行访问。 现在,我已经通过传递参数来创建了自定义路径,而这是我无法访问的。 请让我知道是否有其他方法可以在laravel中上传和访问文件下载uri。 任何有用的建议都是可取的。

代码

use Kreait\Firebase;
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
use Kreait\Firebase\Database;
use Google\Cloud\Firestore\FirestoreClient;
use Google\Cloud\Storage\StorageClient;

$serviceAccount =__DIR__.config('firebase.credentials.file');
$storage = new StorageClient([
'keyFilePath' => $serviceAccount,'projectId' => '{project-id}',]);
$extension = $request->file('file')->getClientOriginalExtension();
$dir = public_path('/firestore/uploads/');
$filename = uniqid() . '_' . time() . '.' . $extension; 
$request->file('file')->move($dir,$filename);
$source = $request->file('file');
$bucketName = '{bucket-name}';
$uploadedfile = fopen($dir.$filename,'r');
$bucket = $storage->bucket($bucketName);
$uploadedobject = $bucket
->upload($uploadedfile,[
'name' => 'folderInFirebase/'.$filename,'alt' => 'media','predefinedAcl' => 'publicRead'
]);
unlink($dir . $filename);
$encode = urlencode($filename);
$downloadUrl = 'https://firebasestorage.googleapis.com/v0/b/{bucket-name}/o/{folderInFirebase}%2F'.$encode.'%7D?alt=media';  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。