【问题标题】:Why is laravel renaming file Uploads?为什么laravel重命名文件上传?
【发布时间】:2014-06-06 05:05:03
【问题描述】:

我正在尝试在 laravel 中创建一个文件上传系统。我有一个上传图片的表格,它可以工作。文件被上传到服务器。但是,这些文件正在从其原始名称重命名为其他名称。例如,名为 image.jpg 的文件将被重命名为 phpgeaSOX,phpgeaSOX 将作为文档保存在服务器上。这是一个问题,因为在我的图片标签中,我引用了我的src中上传的文件来显示它们,如果它们有不同的名称,它们将不会显示出来。

这是我将上传的文件发布到服务器的地方:

public function postUpload(){

Input::file('file')->move(base_path() . '/public/uploads');

    $doc = new Doc();
    $doc->title = Input::get('title');
    $doc->caption = Input::get('caption');
    $doc->path = 'uploads/' . Input::file('file')->getClientOriginalName();

    $doc->save();
}

感谢您的帮助。

【问题讨论】:

  • 通常这样做是为了确保文件名是唯一的

标签: php laravel laravel-4


【解决方案1】:

尝试将文件名作为第二个参数提供给move()

public function postUpload(){

    Input::file('file')->move(base_path() . '/public/uploads',
      Input::file('file')->getClientOriginalName());

    $doc = new Doc();
    $doc->title = Input::get('title');
    $doc->caption = Input::get('caption');
    $doc->path = 'uploads/' . Input::file('file')->getClientOriginalName();

    $doc->save();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2017-03-19
    • 2017-04-29
    • 2015-03-16
    相关资源
    最近更新 更多