我正在Laravel 5.6中构建一个电子商务应用程序。我上传了很多文件,例如滑块,横幅,产品图片等。它们都是ajax文件上传。每个文件都上传到存储/应用/ {相应的文件夹} 。
上传后,文件信息存储到 uploaded_files mysql表中。表的结构就像
-------------------------
uploaded_files
-------------------------
ID
Path
file_code (Unique code for each file)
filename
extension
file_width
file_height
--------------------------
此 file_code 在其他表中用于引用该特定文件。
上传控制器:
class UploadController extends Controller
{
public function index(UploadFilesRequest $request)
{
$dir = "slider";
if ($request->hasFile('image') && $request->file('image')->isValid()) {
$file = $request->file('image');
// path to upload file
$path = $dir.'/'.date('Y/m');
// new filename for uploaded files
$name =str_slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME).'-'.base_convert(time(),10,30), '-');
$extension =$file->getClientOriginalExtension();
$filename = $name.'.'.$extension;
$newpath = $request->image->storeAs($path, $filename );
}
}
}
我想从其他控制器(滑块控制器,产品控制器等)中使用此控制器方法。每个控制器的 $ dir (上载目录)和验证规则也会发生变化。那我该怎么办?。
非常感谢您能提供的任何帮助。