Laravel:带有接受图像的护照 API

Laravel: Passport API with accept image

所以我已经可以使用 laravel passport

api

在我的 controller 中命名为 AuthController.php

我有这个保存数据的工作代码

    public function activity_log(Request $request){

    $validatedData = $request->validate([
        'projCode'=>'required',
        'activity_desc'=>'required',
        'type'=>'required'
    ]);

    $tbl_projectlist = DB::connection('mysql')->select("SELECT * from tbl_projectlist WHERE proj_code = '".$request->projCode."'");

    if(empty($tbl_projectlist))
    {
        return response([
            "status"=>"bad",
            "message"=>"Invalid projCode doesn't exists."
        ]);
    }
    else if($request->type == "REPORT" || $request->type == "ISSUE")
    {
        $ActivityLog = new ActivityLog;
        $ActivityLog->projCode = $request->projCode;
        $ActivityLog->activity_desc = $request->activity_desc;
        $ActivityLog->type = $request->type;
        $ActivityLog->attachment = "/img/default-image.jpg";
        $ActivityLog->created_by_id = Auth::user()->company_id;
        $ActivityLog->created_by_name = Auth::user()->name;
        $ActivityLog->created_at = now();
        $ActivityLog->updated_at = now();
        $ActivityLog->save();

        return response([
            "status"=>"ok",
            "message"=>"Activity successfully submitted!"
        ]);
    }
    else
    {
        return response([
            "status"=>"bad",
            "message"=>"Invalid choose REPORT or ISSUE"
        ]);
    }

}

在我的 api.php

Route::post('/login','Auth\Api\AuthController@login');

Route::middleware('auth:api')->group(function () {

     Some routes...

     Route::post('/activity_log','Auth\Api\AuthController@activity_log');
});

截至目前,我只是存储 img 所在图像 hard coded 的文件路径。

我想要做的是接受 img 文件并保存到我的文件夹并将文件路径存储在我的数据库中

我正在使用 postman 来测试我的 api


来自邮递员:使用 POST 方法,select 正文和表单数据,select 文件,然后使用图像作为关键字 select 文件中的值需要上传。

public function uploadTest(Request $request) {

    if(!$request->hasFile('image')) {
        return response()->json(['upload_file_not_found'], 400);
    }
    $file = $request->file('image');
    if(!$file->isValid()) {
        return response()->json(['invalid_file_upload'], 400);
    }
    $path = public_path() . '/uploads/images/store/';
    $file->move($path, $file->getClientOriginalName());
    return response()->json(compact('path'));
 }