73 lines
2.2 KiB
PHP
73 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Response;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
class MateriMobileController extends Controller
|
|
{
|
|
public function downloadMateri(Request $request)
|
|
{
|
|
// Validasi request
|
|
$request->validate([
|
|
'id_materi' => 'required|string',
|
|
]);
|
|
|
|
$id_materi = $request->input('id_materi');
|
|
|
|
// Dapatkan nama file dari database
|
|
$fileName = DB::table('materi')
|
|
->where('id_materi', $id_materi)
|
|
->value('lampiran_materi');
|
|
|
|
if ($fileName) {
|
|
// Dapatkan path lengkap ke file
|
|
$filePath = public_path('storage/' . $fileName);
|
|
|
|
// Periksa apakah file ada
|
|
if (file_exists($filePath)) {
|
|
// Tambahkan header "ngrok-skip-browser-warning"
|
|
return response()->download($filePath, basename($fileName), [], 'ngrok-skip-browser-warning: any');
|
|
} else {
|
|
// Jika tidak, kirimkan respons file tidak ditemukan
|
|
return response()->json(['message' => 'File tidak ditemukan'], 404);
|
|
}
|
|
} else {
|
|
// Jika tidak ada data materi yang ditemukan
|
|
return response()->json(['message' => 'Materi tidak ditemukan'], 404);
|
|
}
|
|
}
|
|
|
|
public function lihatMateri(Request $request)
|
|
{
|
|
// Validasi request
|
|
$request->validate([
|
|
'id_materi' => 'required|string',
|
|
]);
|
|
|
|
$id_materi = $request->input('id_materi');
|
|
|
|
// Dapatkan nama file dari database
|
|
$fileName = DB::table('materi')
|
|
->where('id_materi', $id_materi)
|
|
->value('lampiran_materi');
|
|
|
|
if ($fileName) {
|
|
// Dapatkan URL lengkap ke file
|
|
$fileUrl = Storage::url($fileName);
|
|
|
|
// Tambahkan header "ngrok-skip-browser-warning"
|
|
return response()->json([
|
|
'fileUrl' => asset($fileUrl),
|
|
]);
|
|
} else {
|
|
// Jika tidak ada data materi yang ditemukan
|
|
return response()->json(['message' => 'Materi tidak ditemukan'], 404);
|
|
}
|
|
}
|
|
}
|