我需要帮助保存上传的文件名在数据库表使用Laravel5.1。
用于保存图像详细信息的控制器代码
public function store(Request $request)
{
if($request->hasFile('img_filename'))
{
$destinationPath="offerimages";
$file = $request->file('img_filename');
$filename=$file->getClientOriginalName();
$request->file('img_filename')->move($destinationPath,$filename);
}
$input=$request->all();
Offer_image::create($input);
return redirect('offerimage');
}
我接受图像的视图代码
{!! Form::open(array('route'=>'offerimage.store','role'=>'form','files'=>true)) !!}
<div class="box-body">
<div class="form-group">
{!! Form::label('img_name','Name') !!}
{!! Form::text('img_name', $value = null, $attributes = array('class'=>'form-control','id'=>'img_name','required')) !!}
</div>
<div class="form-group">
{!! Form::label('img_description','Description') !!}
{!! Form::textarea('img_description', $value = null, $attributes = array('class'=>'form-control','id'=>'img_description','required')) !!}
</div>
<div class="form-group">
{!! Form::label('img_filename','Upload Image') !!}
{!! Form::file('img_filename') !!}
</div>
{!! Form::hidden('status',$value='active') !!}
</div><!-- /.box-body -->
<div class="box-footer">
{!! Form::submit('Submit',$attributes=array('class'=>'btn btn-primary')) !!}
</div>
{!! Form::close() !!}
此控制器代码用于存储正常工作的图像,但当我试图将图像文件名保存到表中时,此代码将filepath存储到数据库表中。
由于我使用直接create()方法将请求对象存储在表中,我不知道如何存储文件名而不是路径。
发布于 2015-10-15 14:52:54
问题是当您上传图片时,您的请求数据并没有改变。所以img_filename
仍然包含tmpdata。
你可以试试这个:
$input = $request->all();
$input['img_filename'] = $filename;
发布于 2015-10-15 15:48:55
为我工作的代码:
$updir = 'images/';
$img_name = 'image.jpeg';
Request::file('img_filename')->move($updir, $img_name);
发布于 2021-02-06 01:36:47
$file = $request->file('img_filename');
$filename=$file->hashName();
上面是Laravel用于保存文件的散列名称。
https://stackoverflow.com/questions/33150998
复制相似问题