您好,我已经使用 laravel5 上传了我的文件,https://github.com/GrahamCampbell/Laravel-Dropbox集成到 Dropbox 并成功,然后我想在前端获取我的 imgsrc="" 的 url,我怎么能得到那个网址?
dd(Flysystem::get('avatars/kenshin.jpg'));
imgsrc 的网址在哪里?
您好,我已经使用 laravel5 上传了我的文件,https://github.com/GrahamCampbell/Laravel-Dropbox集成到 Dropbox 并成功,然后我想在前端获取我的 imgsrc="" 的 url,我怎么能得到那个网址?
dd(Flysystem::get('avatars/kenshin.jpg'));
imgsrc 的网址在哪里?
Assuming you already created a service provider for custom filesystem.
If you don't know how to do that the doc is Here
Route::get('/dropbox',function()
{
$filename = '/text1.txt';
$adapter = \Storage::disk('dropbox')->getAdapter();
$client = $adapter->getClient();
$link = $client->createTemporaryDirectLink($filename);
return <<<EOT
<a href="{$link[0]}">Link</a>
EOT;
});
PLEASE NOTE THAT you have to prefix a "\" slash on the filename or else it will thrown an exception.
我在保存新资源的同时保存了共享链接。像这样
$path = Storage::disk('dropbox')->putFile('/images', storage_path('images/' . $imageName));
$adapter = \Storage::disk('dropbox')->getDriver()->getAdapter();
$client = $adapter->getClient();
$link = $client->createSharedLinkWithSettings($path);
$newsdigest = NewsDigest::create($request->all('title','type','source', 'article') + [
'reading_attachment' => $link['url']
]);
为您的控制器中的方法创建另一个路由,并通过路由传递您想要从 Dropbox 访问的文件名。在控制器中使用 getFile() 方法并将文件名传递给变量。
public function getFile($file_name)
{
$client = new Client('dropbox.token','dropbox.appName');
$this->filesystem = new Filesystem(new Dropbox($client, '/path'));
try{
$file = $this->filesystem->read($file_name);
}catch (\Dropbox\Exception $e){
return Response::json("{'message' => 'File not found'}", 404);
}
$response = Response::make($file, 200);
return $response;
}
我发现在 Dropbox 中上传文件甚至在 PHP 或 Laravel 或任何 PHP 框架中获取共享文件链接的最佳方法是使用此包
composer require kunalvarma05/dropbox-php-sdk
这是如何使用它,我使用 Laravel 制作的一个示例: