【问题标题】:How to get JSON response from database with PHP and Laravel如何使用 PHP 和 Laravel 从数据库中获取 JSON 响应
【发布时间】:2017-10-24 07:28:02
【问题描述】:

我正在 Laravel 中以 JSON 形式创建一个注册和登录 API。我将数据发布到数据库中,数据库接收我发送的数据。但是我希望数据库以 JSON 形式发送响应,我还想在 Postman 中选择一个文件并选择图像,那么如何将图像的 URL 保存在目录中?

这是我目前的代码...

UserController.php

public function signup(Request $request)
{
    $this->validate($request, [

        ]);

        $user = new User([
            'name' => $request->input('name'),
            'email' => $request->input('email'),
            'password' => bcrypt($request->input('password')),
            'user_name' => $request->input('user_name'),
            'profile_discription' => $request->input('profile_discription'),
            'profile_pic' => $request->input('profile_pic'),
            'phone_number' => $request->input('phone_number'),
            'location' => $request->input('location')

            ]);

        $user->save();
        return response()->json(['Message' => 'Successfully Created User!'], 201);

web.php

Route::post('/user/signup', ['uses' => 'UserController@signup']);

【问题讨论】:

  • 只需在控制器末尾添加return ['Message' => 'Successfully Created User!']

标签: php json api laravel-5


【解决方案1】:

您需要使用一些函数将文件/图像存储到某个路径,然后将路径存储到数据库。

<?php
// Folder in public/upload/
$destinationPath = "upload/";

if ($request->hasFile('profile_pic') && $request->file('profile_pic')->isValid()) {

    // store file to local
    $file = $request->file('profile_pic');
    $ext = $file->guessExtension();
    $name = $file->getClientOriginalName();

    // Move file to your path
    $result = $request->file('profile_pic')->move($destinationPath, $now . $name);
    $finalPath = $destinationPath . '/' . $now . $name;

    /*
    * Save to database code continue here ...
    */
}

或者只是简单地将图像转换为 BASE64

$data = $request->file('profile_pic');
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

 /*
 * Save to database code continue here ...
 */

【讨论】:

  • 在 UserController 中我需要使用这样的一些功能。
  • 非常感谢。
【解决方案2】:

首先使用响应类,

use Response;
public function signup(Request $request)
{
$this->validate($request, [


    ]);

    $user = new User([
        'name' => $request->input('name'),
        'email' => $request->input('email'),
        'password' => bcrypt($request->input('password')),
        'user_name' => $request->input('user_name'),
        'profile_discription' => $request->input('profile_discription'),
        'profile_pic' => $request->input('profile_pic'),
        'phone_number' => $request->input('phone_number'),
        'location' => $request->input('location')

        ]);

    $user->save();
$response = array('message'=>'Successfully Created User!');
return Response::json($response);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 2014-09-16
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 2015-08-28
    相关资源
    最近更新 更多