/home/techb158/immovalet.com/platform/core/media/src/Http/Controllers
Edit: /home/techb158/immovalet.com/platform/core/media/src/Http/Controllers/MediaFileController.php (3930B)
fileRepository = $fileRepository;
}
/**
* @param Request $request
* @return JsonResponse
*/
public function postUpload(Request $request)
{
if (!config('core.media.media.chunk.enabled')) {
$result = RvMedia::handleUpload(Arr::first($request->file('file')), $request->input('folder_id', 0));
return $this->handleUploadResponse($result);
}
try {
// Create the file receiver
$receiver = new FileReceiver('file', $request, DropZoneUploadHandler::class);
// Check if the upload is success, throw exception or return response you need
if ($receiver->isUploaded() === false) {
throw new UploadMissingFileException;
}
// Receive the file
$save = $receiver->receive();
// Check if the upload has finished (in chunk mode it will send smaller files)
if ($save->isFinished()) {
$result = RvMedia::handleUpload($save->getFile(), $request->input('folder_id', 0));
return $this->handleUploadResponse($result);
}
// We are in chunk mode, lets send the current progress
$handler = $save->handler();
return response()->json([
'done' => $handler->getPercentageDone(),
'status' => true,
]);
} catch (Exception $exception) {
return RvMedia::responseError($exception->getMessage());
}
}
/**
* @param array $result
* @return JsonResponse
*/
protected function handleUploadResponse(array $result)
{
if ($result['error'] == false) {
return RvMedia::responseSuccess([
'id' => $result['data']->id,
'src' => RvMedia::url($result['data']->url),
]);
}
return RvMedia::responseError($result['message']);
}
/**
* @param Request $request
* @return ResponseFactory|JsonResponse|Response
*/
public function postUploadFromEditor(Request $request)
{
return RvMedia::uploadFromEditor($request);
}
/**
* @param Request $request
* @return mixed
*/
public function postDownloadUrl(Request $request)
{
$validator = Validator::make($request->input(), [
'url' => 'required',
]);
if ($validator->fails()) {
return RvMedia::responseError($validator->messages()->first());
}
$result = RvMedia::uploadFromUrl($request->input('url'), $request->input('folderId'));
if ($result['error'] == false) {
return RvMedia::responseSuccess([
'id' => $result['data']->id,
'src' => Storage::url($result['data']->url),
'url' => $result['data']->url,
'message' => trans('core/media::media.javascript.message.success_header')
]);
}
return RvMedia::responseError($result['message']);
}
}