为什么laravel重命名文件上传?

时间:2014-06-05 21:00:13

标签: php laravel laravel-4

我正在尝试在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();
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试将文件名作为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();
}