2015-10-13 44 views
0

我正尝试使用Laravel 5和Intervention在表单中创建工作映像上载。Laravel 5 - 介入映像保存

public function store() 
    { 
    $input = Request::all(); 
    Project::create($input); 

    if (Input::hasFile('image')) 
    { 
     $file = Input::file('image'); 
     $file->move('uploads', $file->getClientOriginalName()); 

     $image = Image::make(sprintf('uploads/%s', $file->getClientOriginalName()))->resize(120, 120)->save(); 
    } 

    return $file; 

    // return redirect('projects'); 
} 

它复制在指定的文件夹中的图像,但是当我回到$文件,它给了我在

的/ tmp/phpoMwrrD

文件名称,而不是东西线。 我一直在寻找干预文件,但无法找到我做错了什么。

引用文档;

处理图像上载在Laravel

在Laravel应用,还可以直接通过上载文件 到该制作方法。

在Laravel创建从文件上传图片

//调整上传的文件 图片::使(输入::文件( '照片')) - >调整(300,200) - >保存(” foo.jpg');

在此先感谢。

+0

你在哪里返回'$ file'?你为什么不用'$ image'工作? –

+0

@GladToHelp使用整个函数更新了OP。我可以使用$ image,但是在编写使用$ file开始的函数的过程中并没有改变。它不应该改变功能的结果。 –

+1

控制器尝试将'$ file'对象转换为字符串,这就是您看到临时名称/路径的原因。你应该从文件名'$ file-> getClientOriginalName()' –

回答

0

通过@GladToHelp解决了这个问题。使用

`$imageN = $file->getClientOriginalName();` 

检索文件名。