1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Storage;
- class UploadController extends Controller
- {
- public function upload(Request $request)
- {
-
- $request->validate([
- 'file' => 'required|file|mimes:jpg,jpeg,png,gif|max:2048',
- 'bucket' => 'required|string',
- ]);
-
- $bucket = $request->input('bucket');
-
- $path = $request->file('file')->store('uploads', $bucket);
-
- $filename = basename($path);
-
- $url = Storage::disk($bucket)->url($path);
-
- return response()->json([
- 'filename' => $filename,
- 'url' => $url,
- ], 201);
- }
- public function download(Request $request)
- {
-
- $bucket = $request->input('bucket');
- $filename = $request->input('filename');
-
- $filePath = 'uploads/' . $filename;
- if (!Storage::disk($bucket)->exists($filePath)) {
- return response()->json(['message' => 'File not found.'], 404);
- }
-
- return Storage::disk($bucket)->download($filePath);
- }
- public function view(Request $request)
- {
-
- $bucket = $request->input('bucket');
- $filename = $request->input('filename');
-
- $filePath = 'uploads/' . $filename;
- if (!Storage::disk($bucket)->exists($filePath)) {
- return response()->json(['message' => 'File not found.'], 404);
- }
-
- $size = Storage::disk($bucket)->size($filePath);
- $mimetype = Storage::disk($bucket)->mimeType($filePath);
- $url = Storage::disk($bucket)->url($filePath);
-
- return response()->json([
- 'filename' => $filename,
- 'size' => $size,
- 'mimetype' => $mimetype,
- 'url' => $url,
- ]);
- }
- }
|