fix show page document pbg
This commit is contained in:
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
||||
use App\Models\PbgTaskAttachment;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class PbgTaskAttachmentsController extends Controller
|
||||
{
|
||||
@@ -28,14 +29,18 @@ class PbgTaskAttachmentsController extends Controller
|
||||
'pbg_type' => 'string'
|
||||
]);
|
||||
|
||||
$file = $request->file('file');
|
||||
$path = $file->store("uploads/pbg-tasks/{$pbg_task_id}", "public");
|
||||
|
||||
$attachment = PbgTaskAttachment::create([
|
||||
'pbg_task_id' => $pbg_task_id,
|
||||
'file_name' => $file->getClientOriginalName(),
|
||||
'file_name' => $request->file('file')->getClientOriginalName(),
|
||||
'file_path' => '', // empty path initially
|
||||
'pbg_type' => $request->pbg_type == 'bukti_bayar' ? 'bukti_bayar' : 'berita_acara'
|
||||
]);
|
||||
|
||||
$file = $request->file('file');
|
||||
$path = $file->store("uploads/pbg-tasks/{$pbg_task_id}/{$attachment->id}", "public");
|
||||
|
||||
$attachment->update([
|
||||
'file_path' => $path,
|
||||
'pbg_type' => $request->pbg_type
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
@@ -79,4 +84,26 @@ class PbgTaskAttachmentsController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function download(string $id)
|
||||
{
|
||||
try {
|
||||
$data = PbgTaskAttachment::findOrFail($id);
|
||||
$filePath = $data->file_path; // already relative to 'public' disk
|
||||
|
||||
if (!Storage::disk('public')->exists($filePath)) {
|
||||
return response()->json([
|
||||
"success" => false,
|
||||
"message" => "File not found on server"
|
||||
], Response::HTTP_NOT_FOUND);
|
||||
}
|
||||
|
||||
return Storage::disk('public')->download($filePath, $data->file_name);
|
||||
} catch (\Exception $e) {
|
||||
return response()->json([
|
||||
"success" => false,
|
||||
"message" => $e->getMessage()
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user