我的Laravel版本是5.6.and PHP是7。 我在互联网上找到了一些上传样本,但大多数都没有用。 有人能为我提供一个完整的例子吗? 我在互联网上发现了类似的案例。 Laravel 5.6 Excel and CSV import export using maatwebsite example
不幸的是,它也不起作用。
这是我的源代码。 blade.php
<form class="form-upload" method="POST" action="{{url('/excelUpload')}}" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<label for="file">excel upload</label>
<input type="file" id="file" name="ex_file">
<p class="help-block">!!!</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default">cancel</button>
<button type="submit" class="btn btn-primary" id="upload_f">submit</button>
Controller.php这样
public function excelUpload(Request $request){
if($request->hasFile('StudentUploadSample')){
return "yes i have a file";
}
return "nofile";
}
但是,结果始终显示“ nofile ”。 我没有使用任何“使用”。我应该用什么吗? 网页上的示例也不使用任何“使用”。 另外,我读了一些网站,这些文件将放在存储文件夹下,但我找不到我的文件“StudentUploadSample.xlsx”在存储文件夹中。
有人可以提供一个完整的例子或如何解决这个问题吗?
答案 0 :(得分:1)
您在控制器中使用了错误的文件名:
{{1}}
所以解决这个问题,并尝试检查。
答案 1 :(得分:1)
替换文件名,并使用参考站点获取正确的代码并附上说明。
public function importFileIntoDB(Request $request){
if($request->hasFile('sample_file')){
$path = $request->file('sample_file')->getRealPath();
$data = \Excel::load($path)->get();
if($data->count()){
foreach ($data as $key => $value) {
$arr[] = ['name' => $value->name, 'details' => $value->details];
}
if(!empty($arr)){
\DB::table('products')->insert($arr);
dd('Insert Record successfully.');
}
}
}
dd('Request data does not have any files to import.');
}
&#13;
答案 2 :(得分:0)
将<input type="file" id="file" name="ex_file">
替换为<input type="file" id="file" name="StudentUploadSample">
你已经完成了。
答案 3 :(得分:0)
你可以使用laravel excel。
地址:https://github.com/Maatwebsite/Laravel-Excel
/ ** *我的控制器代码 * * /
$ updateFile = $ request-&gt; file('update_file');
$ fileSize =(int)filesize($ updateFile);
$ fileExtension = $ updateFile-&gt; getClientOriginalExtension();
$ filePath = $ updateFile-&gt; getRealPath();
$ excelData = Excel :: load($ filePath) - &gt; get() - &gt; toArray();