2

ファイルをデータベースにアップロードし、「php artisan storage:link」を使用してストレージ リンクを作成しました。すべてが正常に機能しますが、ファイルをダウンロードしようとすると、このエラーが発生します。ここに画像の説明を入力

これが私のコードです

ルート

Route::get('/download/{id}', [\App\Http\Controllers\SubjectController::class, 'downloadFile'])->name('subject.download');

Vue.js

<inertia-link :href="'/download/'+slide.id" class="rounded-lg bg-gray-200 px-4 py-1">
      <Icon name="download"></Icon>
</inertia-link>

コントローラー

    public function downloadFile($id) {
        $file = Upload::find($id);
        $subjectCode = $file->subject()->get()->map->only('name','code')->first()['code'];
        $subjectName = $file->subject()->get()->map->only('name','code')->first()['name'];
        return response()->download(storage_path('app/public/documents/'.Str::upper($subjectCode.'_'.$subjectName).'/'.$file->file), 'public');
    }
4

1 に答える 1