【发布时间】:2020-11-13 16:09:25
【问题描述】:
我的 laravel 项目有问题。我做了一个系统,客户必须上传带有图片的产品。但是当我将项目上传到在线主机时,图片上传不起作用,我找不到问题所在。
广告:我有 public_html 之外的 Laravel 文件夹,我没有使用主文件夹 (public_html),但我在服务器中使用了另一个域,所以你看到的路径 ta 的配置没有“ public_html"
代码:
控制器
public function store(Request $request)
{
$newProduct = new App\Product;
$newProduct -> name = $request -> name;
$newProduct -> description = $request -> description;
$newProduct -> price = $request -> price;
if ( $request -> hasFile('photo') ) {
$file = $request -> file("photo");
$fileUpload = Storage::disk('public') -> put('img/products', $file);
$newProduct -> photo = $fileUpload;
}
$newProduct -> save();
return back() -> with('status', 'Ok.');
}
文件系统:
'public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
和配置路径
public function register()
{
$this->app->bind('path.public',function(){
return'/home1/client/domain.com/menu';
});
}
重要提示:当我保存寄存器时,它可以工作,我可以在数据库中看到文件名,但不能将文件保存在文件夹中。
【问题讨论】:
标签: laravel server upload storage host