首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel5.8无法在path上找到文件

Laravel5.8无法在path上找到文件
EN

Stack Overflow用户
提问于 2020-04-20 09:43:15
回答 1查看 472关注 0票数 0

我知道有很多类似的问题,但我找不到解决问题的办法。

我正在尝试对PDF文件上传进行测试,但我一直得到“无法在路径document.pdf.处找到文件”错误。根据Laravel医生的说法,一切似乎都很好。我遗漏了什么?

控制器工作正常,就像它应该做的一样--它使用PDFDOM库创建目录、存储文件并返回流。

我的文件系统

代码语言:javascript
复制
'disks' => [
    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
        'url' => storage_path('app')
    ],

    'pdf' => [
        'driver' => 'local',
        'root' => storage_path('pdf_reports'),
        'url' => storage_path('pdf_reports')
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
],

我的控制器

代码语言:javascript
复制
public function export_report(Request $request){    
    $path = 'internal/2020/APR/20/report.pdf';
    $pdf = PDF::loadView('admin.report');
    $content = $pdf->download()->getOriginalContent();
    Storage::disk('pdf')->put($path , $content);
    return $pdf->stream(\Carbon\Carbon::now()->format('d_M_Y').'report.pdf');
}

My TestCase

代码语言:javascript
复制
public function pdf_uploaded()
{
    Storage::fake('pdf');

    $file = UploadedFile::fake()->create('document.pdf', -1024);

    $response = $this->json('POST', '/export/report', [
        'file' => $file,
    ]);

    // Assert the file was stored...
    Storage::disk('pdf')->assertExists($file->hashName());
}
EN

回答 1

Stack Overflow用户

发布于 2020-04-20 09:49:46

错误来自这里,$file = UploadedFile::fake()->create('document.pdf', -1024);

您需要使用例如public_path('document.pdf')指定文件路径,前提是document.pdf文件存在于公用文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61319422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档