Fab*_*otk 15 php laravel laravel-5.4
我托管我的网站的服务器不支持,links
所以我无法运行将php artisan storage:link
我的存储目录链接到公共目录.我试图在filesystems.php中重新制作磁盘配置以直接引用该public
文件夹,但它似乎也没有用.有没有办法将Laravel库直接上传到公共文件夹中,或者我必须使用php方法?提前致谢.
sun*_*mad 33
您可以在以下位置创建新的存储光盘config/filesystems.php
:
'public_uploads' => [
'driver' => 'local',
'root' => public_path() . '/uploads',
],
Run Code Online (Sandbox Code Playgroud)
并存储这样的文件:
if(!Storage::disk('public_uploads')->put($path, $file_content)) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
Ino*_*loh 15
您可以将磁盘传递给\Illuminate\Http\UploadedFile
类的方法:
$file = request()->file('uploadFile');
$file->store('toPath', ['disk' => 'public']);
Run Code Online (Sandbox Code Playgroud)
或者您可以创建新的文件系统磁盘并将其保存到该磁盘。
您可以在以下位置创建新的存储磁盘config/filesystems.php
:
'my_files' => [
'driver' => 'local',
'root' => public_path() . '/myfiles',
],
Run Code Online (Sandbox Code Playgroud)
在控制器中:
$file = request()->file('uploadFile');
$file->store('toPath', ['disk' => 'my_files']);
Run Code Online (Sandbox Code Playgroud)
Wil*_*ewa 10
您应该尝试添加method="post" enctype="multipart/form-data"
到表单中的这种跳跃。请注意,公共路径 (uploadedimages) 将被移动到您项目目录中的公共文件夹,这就是上传图像的位置。
public function store (Request $request) {
$imageName = time().'.'.$request->image->getClientOriginalExtension();
$request->image->move(public_path('/uploadedimages'), $imageName);
// then you can save $imageName to the database
}
Run Code Online (Sandbox Code Playgroud)