我正在使用动态输入生成功能,因为我尝试上传多个图像,我从互联网上获得了代码,并且根据我的要求进行了修改,但只有当我将名称命名为表格时,图像上传才有效遇到问题。
我不知道该怎么做。请帮助该怎么做。
我附上了代码,UI,表格屏幕截图。
插入代码
$Colorimages=array();
if($files=$request->file('Colorimages'))
{
foreach($files as $file)
{
$extension = $file->getClientOriginalExtension();
$filename = date('YmdHis').rand(1,9999).'.'.$extension;
$file->move(public_path("product_images/sub_images"), $filename);
$Colorimages[]=$filename;
}
}
if(count($request->prol_product_line_code)>0)
{
foreach ($request->prol_product_line_code as $prol=>$v)
{
$data2=array
(
'prol_product_code' => $request->prod_product_code,
'prol_product_line_code' => $request->prol_product_line_code[$prol],
'prol_printed' => $request->prod_printed,
'prol_color' => $request->prol_color[$prol],
'prol_image1' => $Colorimages[$prol],
'prol_image2' => $Colorimages[$prol],
'prol_image3' => $Colorimages[$prol],
);
product_line::insert($data2);
}
}
答案 0 :(得分:1)
这是在laravel中上传多张图片的方法。
步骤1:创建路由(routes / web.php)
Route::get('image-view','ImageController@index');
Route::post('image-view','ImageController@store');
步骤2:创建ImageController文件(app / Http / Controllers / appController.php)
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ImageController extends Controller
{
public function index()
{
return view('image-view');
}
public function store(Request $request)
{
$imageName = request()->file->getClientOriginalName();
request()->file->move(public_path('upload'), $imageName);
return response()->json(['uploaded' => '/upload/'.$imageName]);
}
}
第3步:创建刀片文件(resources / views / index.blade.php)
<div class="container">
<div class="row">
<div class="col-lg-8 col-sm-12 col-11 main-section">
<h1 class="text-center text-danger">File Input Example</h1><br>
{!! csrf_field() !!}
<div class="form-group">
<div class="file-loading">
<input id="file-1" type="file" name="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="2">
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$("#file-1").fileinput({
theme: 'fa',
uploadUrl: "/image-view",
uploadExtraData: function() {
return {
_token: $("input[name='_token']").val(),
};
},
allowedFileExtensions: ['jpg', 'png', 'gif'],
overwriteInitial: false,
maxFileSize:2000,
maxFilesNum: 10,
slugCallback: function (filename) {
return filename.replace('(', '_').replace(']', '_');
}
});
</script>