Untitled
Anis
plain_text
2 years ago
2.3 kB
12
Indexable
public function store(Request $request)
{
try{
$user = $request->user();
$validator = Validator::make($request->all(), [
'title' => 'required|string|max:255',
'text' => 'required|string',
'record' => 'mimes:mp3,wav',
]);
if ($validator->fails()) {
return response()->json(['status' => false, 'message' => $validator->errors()->first()]);
}
$voice_text = new VoiceText();
$voice_text->title = $request->title;
$voice_text->text = $request->text;
$voice_text->user_id = $user->id;
$voice_text->description = $request->description;
$voice_text->tags = $request->tags;
$voice_text->location = $request->location;
$voice_text->language = $request->language;
$voice_text->speaker_name = $request->speaker_name;
$voice_text->year = $request->year;
$voice_text->unix_timestamp = $request->date ? strtotime($request->date) : strtotime(now());
if ($request->hasFile('record')) {
$receiver = new FileReceiver("record", $request, HandlerFactory::classFromRequest($request));
if ($receiver->isUploaded() === false) {
throw new UploadMissingFileException();
}
$save = $receiver->receive();
if ($save->isFinished()) {
$file = $save->getFile();
$path = 'public/uploads/files/users/';
$extension = $file->getClientOriginalExtension();
$fileName = rand() . time() . "." . $extension;
$file->move($path, $fileName);
// $user->image = $path . $fileName;
$voice_text->record = $path . $fileName;
$voice_text->save();
$voice_text->record = $voice_text->record ? asset($voice_text->record) : null;
return response()->json([
'status' => true, 'data' => $voice_text
]);
}
$handler = $save->handler();
}
}
catch(Exception $e){
return response()->json(['status' => false, 'message' => 'Something went wrong!']);
}
}Editor is loading...