我正在上传具有10000行的xlxs文件。在上传过程中,浏览器抛出错误糟糕,出现了问题。但是,当我刷新页面时,它显示xlxs工作表上的所有行均已插入到db中。
请问该问题是什么?请解决或优化此错误的最佳方法是什么?
控制器
$get_group = $request->get('group');
$get_group = $request->get('group');
if(empty($get_group))
{
return redirect()->back()->with('error', 'No group has been selected.');
}
$explode_get_group = implode(' ', $get_group);
$selectedGroup = Group::where('id',$explode_get_group)->first();
if($request->file('imported-file'))
{
$path = $request->file('imported-file')->getRealPath();
$data = Excel::load($path, function($reader)
{
$reader->calculate(false);
})->get();
if(($request->file('imported-file')->getClientOriginalExtension()) != 'xlsx')
{
return redirect('/customer/view')->with('error','File Format may not be supported');
}
else{
if(!empty($data) && $data->count())
{
foreach ($data->toArray() as $row)
{
if(!empty($row))
{
$dataArray[] =
[
'name' => array_get($row, 'name'),
'phone' =>array_get($row, 'phone'),
'user_id' => Auth::user()->id
];
}
}
if(isset($row['phone']) == 0)
{
return redirect('/customer/view')->with('error','Failed to upload file');
}
// if(!empty($dataArray))
else
{
$selectedGroup->customers()->createMany($dataArray);
return redirect('/customer/view')->with('status','Contacts successfully added');
}
}
}
}
else {
return redirect('/customer/view')->with('error','No file was uploaded. Please upload a file');
}
答案 0 :(得分:0)
每当我尝试上载需要解析的大文件时,我都会上载该文件并运行后台任务来处理该文件的解析。可能是您收到超时错误等。通常,您应该能够在日志中看到完整的错误。另一件事是使用try / catch,以便您可以捕获引发的任何异常并从那里查看。