add dropzone to test result form

This commit is contained in:
Fateme
2020-06-09 18:05:16 +04:30
parent 7496f1213f
commit a74e49af6f
14 changed files with 269 additions and 125 deletions
+92
View File
@@ -0,0 +1,92 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Intervention\Image\ImageManager;
use Illuminate\Support\Facades\Storage;
use App\Media;
class UploadController extends Controller
{
public function uploadImage(Request $request)
{
$rules = [
'image' => 'required|image|mimes:jpeg,png,jpg|max:2048',
];
$this->validate($request, $rules);
if ($request->model_id !== null && is_numeric($request->model_id)) {
$Model = 'App\\'.$request->model_type;
$Object = $Model::findOrFail($request->model_id);
if ($Object) {
$Image = $request->file('image');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
$ImageName = time().'.'.$Mime[1];
$Path = 'media'.'/TestResults'.'/'.$Object->id .'/'.$ImageName;
Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id);
$InterventionImage->save(public_path($Path));
$MediaData = [
'model_id' => $Object->id,
'batch_id' => $request->batch_id,
'model_type' => 'App\\'.$request->model_type,
'path' => $Path,
'user_id' => auth('api')->user()->id,
'file_name' => $ImageName
];
$Media = Media::create($MediaData);
}
}
else {
$Image = $request->file('image');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
$ImageName = time().'.'.$Mime[1];
$Path = 'media'.'/Temp'.'/'.$request->batch_id .'/'.$ImageName;
Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id);
$InterventionImage->save(public_path($Path));
$MediaData = [
'model_id' => null,
'batch_id' => $request->batch_id,
'model_type' => 'App\\'.$request->model_type,
'path' => $Path,
'user_id' => auth('api')->user()->id,
'file_name' => $ImageName
];
$Media = Media::create($MediaData);
}
return \MessageResponse::success(trans('messages.success_message'), null, $Media);
}
public function deleteImage(Request $request)
{
if ($request->model_id != null && is_numeric($request->model_id)) {
$Media = Media::findOrFail($request->media_id);
if($Media){
if (\File::exists(public_path($Media->path))) {
\File::delete(public_path($Media->path));
}
$Media->delete();
}
}
else {
$Media = Media::findOrFail($request->media_id);
if($Media){
if(\File::exists(public_path($Media->path))){
\File::delete(public_path($Media->path));
}
$Media->delete();
}
}
return \MessageResponse::success(trans('messages.success_message'));
}
}