【问题标题】:file isn't replacing on edit in laravel在 laravel 中编辑时文件没有被替换
【发布时间】:2019-07-02 13:25:41
【问题描述】:

你好,我试图在 Laravel 中编辑文件,但是当我编辑文件时,它的名称会根据 db 中的编辑而改变,但文件没有替换文件夹中的前一个文件,m 使用资源路由,

控制器:

  public function update(Request $request, $id)
  {

    $request->validate([
        'filename' => 'required',
    ]);

     $file = $request->file('filename');
     $clientName = $file->getClientOriginalName();
     $path = $file->move(public_path('files'), $clientName);

     File::whereId($id)->update(['filename' => $clientName]);

      return redirect('file')->with('success', 'Data is successfully updated');
  }

刀片文件:

    <form method="post" action="{{ route('file.update', $data->id) }}" enctype="multipart/form-data">
        @csrf
        @method('PATCH')
        <div class="form-group">
          <label for="EditFile">Edit File</label>
          <input type="file" name="filename" class="form-control-file">
          <img src="{{ URL::to('/') }}/files/{{ $data->file }}" width="100"/>
          <img src="./images/pdf.png" class="img-circle elevation-2" alt="Pdf Image" width="50">
          <input type="hidden" name="hidden_file" value="{{ $data->file }}" />
        </div>
        <br>
        <input type="submit" name="edit" class="btn btn-primary input-lg" value="Edit" />
    </form>

谁能发现代码中的任何错误??

【问题讨论】:

  • 文件名变了吗?
  • 是的文件名正在改变
  • 这完全取决于您应用的技术。通常,当您检索并显示图像时,您编辑并选择另一个进行更新,新图像的文件名将替换字段中的先前名称。新上传的图片保存在一个文件夹中。
  • $file-&gt;move(...) 的使用让我有点困惑。为什么不$file-&gt;save(...)?我不会太在意 PHP tmp 文件夹。它会自行清理。您可能会遇到通过移动文件来覆盖现有文件的问题。这可能是权限问题,也可能是 PHP 本身内部工作的典型问题。尝试save() 以更新现有文件。
  • @DimitriMostrey 将 move 替换为 save 会显示错误:Method Illuminate\Http\UploadedFile::save 不存在。

标签: laravel eloquent laravel-5.8


【解决方案1】:

你需要 $request 上的“hidden_​​file”部分。你发送但没接。

【讨论】:

  • U 以表格形式发送此代码,但您没有收到此代码服务器端 $path = $file->delete(public_path('files'), $clientName);并添加一个新的。
  • @waliair 请不要在评论部分发布您的答案。如果您想添加更多信息,可以编辑您的答案。
猜你喜欢
  • 2014-10-08
  • 1970-01-01
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
相关资源
最近更新 更多