123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?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 uploadProjectCate(Request $request)
- {
-
- $request->validate([
- 'file' => 'required|file|mimes:jpg,jpeg,png,gif|max:2048',
- ]);
-
- $bucket = 'project-cate';
-
- $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,
- ]);
- }
- }
|