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'));
}
所以我已经可以使用 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'));
}