0

最終段階に近づいていることを願っています。ファイルをアップロードしstorage/files/、アップロードファイルごとにuniqフォルダーをid_message問題なく作成し、ファイルデータをテーブルに保存しますfiles

ファイルの最終パスは/storage/files/{id_message}/{file_name}両方の変数id_messagefile_nameあり、テーブルにありますfiles

FileControllerの関数fileUpload:

    function fileUpload(Request $request)
    {
    $request->validate([
        'id_message' => 'required|min:6'
    ]);
    
    $idParameter = $request->id_message=$request->id_message;

    $result=$request->file('file_path')->store('files/'.$idParameter);

    $file = new File;
    $file->id_message=$idParameter;
    $file->file_path=$result;
    $file->file_name=$request->file('file_path')->getClientOriginalName();
    $file->save();

アップロード後、テーブルにこのデータがありますfiles:

id    id_message    file_name
1     000001        Myfile.zip 

/storage/app/files/000001/Myfile.zip

FileController:getDownload

   public function getDownload($id)
   {
      $resultFile = DB::table('files')->where('id_message',$id)->first();

      $attachment = store_path().'/' . $resultFile->id_message . '/' . $resultFile->file_name;

      return response()->download($attachment);
   }

route

Route::get('download/{id}/{fileName}', 'FileController@getDownload')->name('downloadFile');

view.blade

   <td><a href="{{ route ('downloadFile', $resultFile->file_name)}}">Download</a></td> 

error

Undefined variable:resultFile

laravelでファイルを最終的にダウンロードすることに近づいていますか?

controller for viewテーブルusers

public function postLogin(Request $request)
{
    request()->validate([
        'id_message' => 'required',
        'sms_code' => 'required',
    ]);
    
    $credentials = $request->only('id_message', 'sms_code');
    $request->session()->flash('success','');
                
    if ($user=User::where($credentials)->first()) {
        auth()->login($user);
    
        return redirect()->intended('dashboard')->with('success','');
        }
        
    return Redirect::to("login")->with(['url_attribute' => $url_attribute,'id_message' => $id_message])->with('error','');
    }

public function dashboard()
{
  if(Auth::check())
  {
    return view('dashboard');
  }
   return Redirect::to("login")->withSuccess('Opps! You do not have access');
}
4

1 に答える 1