Laravel 5.3 照片上传与 plupload 目录相关的问题

Laravel 5.3 photo upload with plupload directory related issue

我最近将我的代码迁移到了 laravel。我在使用 laravel 的 plupload 上传文件时遇到了问题。在 pluploaded 文件在表单提交之前上传到服务器。上传文件成功后,文件路径放在隐藏的输入字段中。 我的上传代码如下。

public function photo(){
  $target_file = "";
  $this->target_dir = base_path() ."/uploads/";
  if($_FILES['file']['name']){
     $filename = AppUtils::get_new_filename($this->ext);
     $filename = "photo_" . $filename;
     $target_file = $this->target_dir . $filename;
     move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
     $photo = $this->target_dir . $filename;
     echo $photo;
     die();
   }
   else{
     AppUtils::fail();
   }
}

问题是没有在 $target_dir 中使用 base_path(),文件没有正确上传。但是使用 base_path() 预览图像不是实际位置。 例如,上传照片后输出将是 /var/www/htm/lar/uploads/xyz.jpg
但在预览图像路径中显示:http://example.com/lar/var/www/html/lar/uploads/xyz.jpg

试试这个:

public function photo(){
  $target_file = "";
  $this->target_dir = "/uploads/";
  if($_FILES['file']['name']){
     $filename = AppUtils::get_new_filename($this->ext);
     $filename = "photo_" . $filename;
     $target_file = base_path() . $this->target_dir . $filename;
     move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
     $photo = $this->target_dir . $filename;
     echo $photo;
     die();
   }
   else{
     AppUtils::fail();
   }
}

base_path() 只能用于上传位置。