我目前正在关注此answer,这是我的代码
public function add(Request $request) {
$files=[];
if($request->file('remind_letter')) $files[]=$request->file('file1');
if($request->file('answer_note')) $files[]=$request->file('file2');
if($request->file('negotiation')) $files[]=$request->file('file3');
foreach($files as $file){
if(!empty($file){
$filename=$file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
Storage::disk('local')->put($filename.'.'.$extension,
File::get($filename));
$entry = new Docks();
$entry->div = $request->input('div');
$entry->year = $request->input('year');
$entry->activity = $request->input('activity');
$entry->corporate = $request->input('corporate');
--- need logic to save their path into databse ----
$entry->save
我仍然困惑如何将他们的路径保存到数据库中 它应该是这样的吗?
$entry->remind_letter = $file->getFilename().'.'.$extension
$entry->answer_note= $file->getFilename().'.'.$extension
$entry->negotiation = $file->getFilename().'.'.$extension
答案 0 :(得分:0)
您只能使用$filename=$file->getClientOriginalName();
指定文件名
这将为您提供包含原始扩展名的完整文件名。
我们假设您要将文件上传到文件夹' / public / files /'。
我建议你在foreach中使用它:
if( !empty($file) )
{
$file->move(base_path() . '/public/files/', $file->getClientOriginalName());
}
然后在数据库中存储文件路径(我以文件路径属性为例):
$entry->filepath = base_path() . '/public/files/' . $file->getClientOriginalName();
通过这种方式,您可以将文件保存到所需的位置,然后将文件的完整路径存储在数据库中。