D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
josepharmacy.online
/
app
/
Http
/
Controllers
/
Web
/
Filename :
ChatFileController.php
back
Copy
<?php namespace App\Http\Controllers\Web; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class ChatFileController extends Controller { public function uploadFile(Request $request) { try { $request->validate([ 'file' => 'required|file|max:10240', // 10MB max 'customer_id' => 'required', 'type' => 'in:image,audio,file' ]); $file = $request->file('file'); $customerId = $request->customer_id; $type = $request->type ?? 'file'; // Generate unique filename $fileName = time() . '_' . $file->getClientOriginalName(); // Store file in public/chat_attachments/{customer_id}/ $path = $file->storeAs( "chat_attachments/{$customerId}", $fileName, 'public' ); // Get public URL $url = Storage::url($path); return response()->json([ 'success' => true, 'url' => $url, 'file_name' => $file->getClientOriginalName(), 'file_type' => $file->getMimeType(), 'file_size' => $file->getSize() ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage() ], 500); } } }