首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Laravel5.1将上传的文件名保存在表中

如何使用Laravel5.1将上传的文件名保存在表中
EN

Stack Overflow用户
提问于 2015-10-15 14:19:53
回答 3查看 8.8K关注 0票数 5

我需要帮助保存上传的文件名在数据库表使用Laravel5.1。

用于保存图像详细信息的控制器代码

代码语言:javascript
运行
复制
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');
}

我接受图像的视图代码

代码语言:javascript
运行
复制
{!! 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()方法将请求对象存储在表中,我不知道如何存储文件名而不是路径。

检查此图像中的表数据

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-15 14:52:54

问题是当您上传图片时,您的请求数据并没有改变。所以img_filename仍然包含tmpdata。

你可以试试这个:

代码语言:javascript
运行
复制
$input = $request->all();
$input['img_filename'] = $filename;
票数 8
EN

Stack Overflow用户

发布于 2015-10-15 15:48:55

为我工作的代码:

代码语言:javascript
运行
复制
$updir = 'images/';
$img_name = 'image.jpeg';
Request::file('img_filename')->move($updir, $img_name);
票数 1
EN

Stack Overflow用户

发布于 2021-02-06 01:36:47

代码语言:javascript
运行
复制
$file = $request->file('img_filename');
$filename=$file->hashName();

上面是Laravel用于保存文件的散列名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33150998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档