Изображение не сохраняется в общую папку - PullRequest
0 голосов
/ 23 октября 2018

У меня есть API, который я создал с помощью Laravel, который принимает изображения с устройства Android, я хочу сохранить полученное изображение в папке public/img, но когда я проверяю папку public\img, изображение не отображаетсятам, пожалуйста, в чем может быть проблема, местоположение изображения даже успешно сохраняется в БД

public function SellPost(Request $request){
    $user = User::where('id', $request->user_id)->first();
    $goods = new Goods;
    $goods->name = $request->name;
    if($request->description){
    $goods->description = $request->description;
    }
    $goods->category_id = $request->cat_id;
    $goods->amount = $request->amount;
    $goods->quantity = $request->qty;
    $goods->seller_id = $request->user_id;
    if($goods->save()){ 
    if($request->hasFile('photo')){
    $path = Storage::disk('public')->putFile('img', $request->file('photo'));
    $filename = basename($path);
    //  Image::make($images->uri)->save(public_path('img/' . $filename));  
    $saver = new Images;
    $saver->product_id = $goods->id;
    $saver->location_url = 'img/'.$filename;
    $saver->save();
    //    $this->imagesUpload($goods->id, $request->photo);
    }else{
        return response()->json(['error'=>'Internal Server Error, Please try again Later'], 401);   
    }  
    };
    return response()->json(['success'=>'Goods Posted Successfully'], $this->successStatus);
}

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

У меня есть 2 решения для вас

1: В config / filesystems.php вы можете сделать это ... изменить корневой элемент публично

'disks' => [
   'public' => [
       'driver' => 'local',
       'root'   => public_path() . '/uploads',
       'url' => env('APP_URL').'/public',
       'visibility' => 'public',
    ]
]

и получить доступ

Storage::disk('public')->put('filename', $file_content);

2: вы можете указать путь к файлу и попытаться сохранить его.

$file = $request->hasFile('photo');
$file->store('toPath', ['disk' => 'public']);

goodluck

0 голосов
/ 23 октября 2018

Вы можете попробовать заменить

$path = Storage::disk('public')->putFile('img', $request->file('photo')); 

на

$path = Storage::disk('public')->putFile( public_path('img'), $request->file('photo')); 

В какой-то момент эта проблема возникла, и именно так я и решил ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...