php - 从存储下载文档时出现问题,存储:链接不起作用 laravel 6
问题描述
我正在使用 Laravel 6,在我做过类似的事情之前,但使用 Laravel 7 并且它可以工作,两个项目的最大区别在于 Laravel 7 项目(仅上传没有 renombarlo 的图像)和 Laravel 6(我需要上传所有类型的文件,如 pdf、excel、word、power point)。
问题是我设法将其上传并将其存储在存储中,但是下载时,我无法访问这些文件,并且我使用了几乎相同的功能,我将保存文件的 url 保存在数据库中。
上传文件
Current Tenant
$pathUUI = (app(\Hyn\Tenancy\Environment::class)->website()->uuid);
foreach ($data as $key => $value) {
$saveName = time()."_opportunities_".$opportunity."_".$value->getClientOriginalName();
// $pathLanding = Storage::disk('tenancy')->put($saveName,$pathUUI);
// $url = Storage::disk('tenancy')->put($pathUUI,$value);
$url = Storage::disk('tenancy')->putFileAs($pathUUI,$value,$saveName);
File::create([
'url' => $url,
'name' => $saveName,
'opportunity_id' => $opportunity,
'activity_id' => $activity
]);
}
下载文件
public function download($file){
try {
$public_path = public_path();
$pathUUI = (app(\Hyn\Tenancy\Environment::class)->website()->uuid);
$data = File::where('url','LIKE','%'.$file.'%')->first();
$url = $public_path.'/storage/'.$data->url;
if (!File::exists($url)) {
abort(404);
}
$fileData = FileDocument::get($url);
$type = FileDocument::mimeType($url);
$response = Response::make($url, 200);
$response->header("Content-Type",$type);
return $reponse;
} catch (\Throwable $th) {
dd($th);
}
}
Storage:link 存储什么都不做
我保存文件的存储文件夹 图像
文件系统.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
'tenancy' => [
'driver' => 'local',
'root' => storage_path('app/tenancy/tenants/')
],
],
'links' => [
public_path('storage') => storage_path('app/tenancy/tenants'),
],
解决方案
推荐阅读
- r - 正确的函数是 R 用于从 data.frame 中的向量中查找元素的行索引吗?
- javascript - 我怎样才能让它在 javascript 启动之前加载我的所有 HTML?
- javascript - 如何将更改滚动偏移变量链接到 React 本机中的动画变量?
- python-3.x - 如何为更大的数据集运行此功能(9 个功能)
- r - 在 R 中使用 sqldf 连接数据
- python - 如何对待一个类,参数
- python - 以顺时针/逆时针方式对复杂的 2d 欧几里得点集合进行排序以形成闭合环
- postgresql - 使用 LIMIT 的慢 Postgres 查询
- css - CSS隐藏属性内容
- c# - 使用 Active Directory 和 C# 登录?