簡體   English   中英

如何上傳文件(Laravel)

[英]How to upload a file (Laravel)

我想在Laravel中上傳文件:

  1. 我將此代碼放在路線中

     Route::post('upload', 'myconttest@test')->name('upload'); 
  2. 並將此代碼放入控制器

     function test(Request $request){ $file=$request->file('myfile'); $filename=$file->getClinetOriginalName(); // $projectname; $path='files/'; $file->move($path,$filename); } 

我在公共文件夾中創建了一個文件夾。 該代碼運行無錯誤,但文件未保存。

  1. 確保您的表單已啟用以上傳文件。 因此,請檢查是否設置了以下屬性。

    <form action"" 'files' => true>

  2. 使用以下名稱空間

    use Illuminate\\Support\\Facades\\Input;

  3. 然后試試這個:

    $file = Input::file('myfile'); $filename = $file->getClinetOriginalName(); move_uploaded_file($file->getPathName(), 'your_target_path/'.$filename);

它的工作代碼請看這里

 public function store(Request $request)
    {

         $checkval = implode(',', $request->category);
         $input = $request->all();
         $input['category'] = $checkval;

         if ($request->hasFile('userpic')) {
          $userpic = $input['pic'];
          $file_path = public_path("avatars/$userpic");
          if(File::exists($file_path)) {
              File::delete($file_path);
          }
          $fileName = time().$request->userpic->getClientOriginalName();
          $request->userpic->move(public_path('avatars'), $fileName);
          $input['userpic'] = $fileName;
          Product::create($input);
          return redirect()->route('productCRUD.index')->with('success','Product created successfully');
       }    
    }

我認為您可以嘗試以下方法:

首先,您將文件夾權限授予公用文件夾中的文件文件夾

function test(Request $request){
    $file=$request->file('myfile');
    $filename=$file->getClinetOriginalName();
    $file->move(public_path().'/files/', $filename);
}

希望這項工作為您服務!

在控制器測試功能中,您需要指定文件文件夾的公共路徑,例如

$path = public_path('files/');

用於在給定的公用文件夾路徑上移動文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM