2017-10-24 8 views
0

私はいくつかの助けが必要です。私はLaravelのJSONフォームでサインアップとサインインAPIを作成しています。私はデータベースにデータを投稿し、データベースは私が送ったデータを受け取ります。しかし、データベースでJSON形式のレスポンスを送信し、Postmanでファイルを選択してイメージを選択したいので、イメージのURLをディレクトリに保存するにはどうすればいいですか?これは、これまでの私のコードですPHPとLavarelでデータベースからJSON応答を取得する方法

...

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' => '[email protected]']); 
+0

に単に'リターン[ 'メッセージ' => 'が正常に作成したユーザーを!']画像を変換します。 UserControllerの – Grynets

答えて

0

あなたが、その後、いくつかのパスにファイル/画像を格納するデータベースへのパスを格納するためのいくつかの機能を使用する必要があります。

<?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 ... 
*/ 
+0

私はこのようないくつかの関数を使う必要があります。 –

+1

ありがとう非常に役立ちます。 –

0

使用レスポンスクラスまず、

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); 
0私はそれが役に立てば幸い

関連する問題