احسان قربانی
3 سال پیش توسط احسان قربانی مطرح شد
3 پاسخ

ذخیره فایل آپلود شده در مکانی غیر storage

سلام به همه دوستان و وقتتون بخیر :)
من یک api زدم با لاراول ورژن ۸ برای یک اپلیکیشن که یک سایت هم داره. یک endpoint داریم که میشه باهاش عکس کاربر رو تغییر داد.
کارفرما میخواد وقتی عکسی آپلود شد ، عکس داخل فولدری ذخیره بشه که عکس های پروفایل سایت ذخیره میشه. و من نمیدونم چطوری میشه چنین کاری انجام داد چون تا اونجایی که من میدونم و سرچ کردم ، فقط نحوه ذخیره سازی توی فولدر storage داخل خود فولدر پروژه رو توضیح دادن ولی اون فولدر مورد نظر کارفرما خارج از فولدر خود پروژه است. ممنون میشم کمک کنید \/


ثبت پرسش جدید
مهدی مهدوی
تخصص : تازه وارد
@mehdi.mahdavi97 3 سال پیش مطرح شد
0

سلام
می تونید یه disk جدید برای Storage تعریف کنید و root اون رو هر جایی که دسترسی بهش داشته باشین (مجوز یوزر توسط سیستم عامل ) قرار بدین

On-Demand Disks

اگر مشکلی در ایجاد disk داشتین بگین


احسان قربانی
تخصص : PHP ، در حال یادگیری لاراول ،...
@TimeRunner2359 3 سال پیش آپدیت شد
0

@mehdi.mahdavi97
بله درسته منتهی یک سوال
الان کل متد من به این صورت هست :

public function updateUserPic(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'image' => 'bail|mimes:jpg,jpeg,png,bmp|max:5120',
        ]);
        if ($validator->fails()) {
            return response()->json(['status' => 'error', 'message' => 'Invalid picture'] , 500);
        }
        $piclink =$request->file('image')->store('user_images', 'public');
        User::where('id',$request->user()->id)->update(['image' => basename($piclink)]);
        return response()->json(['status' => 'ok' , 'image_name' => basename($piclink) , 'url' => Storage::url($piclink)] , 200);
    }

همونطور که میبینید من از متد store استفاده میکنم. ولی توی اون لینک با put مثال زده ، چطوری میشه همون کار رو با store کرد ؟


مهدی مهدوی
تخصص : تازه وارد
@mehdi.mahdavi97 3 سال پیش مطرح شد
0

'public' که به store پاس داده شده همان نام disk هستش
که میتونید disk جدید ایجاد کنید و نام اون رو قرار بدین


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام