【发布时间】:2013-08-11 00:56:45
【问题描述】:
我已经在 Laravel 4 中的控制器和路由文件中对此进行了编码,并遇到了诸如“在非对象上调用成员函数 move()”和
之类的错误 "Call to a member function getClientOriginalName() on a non-object"
控制器:
class AuthorsController extends BaseController{
public $restful = true;
public function post_files()
{
$input = Input::all();
$rules = array(
'file' => 'image|mime:jpg,gif,png|max:3000',
);
$validation = Validator::make($input, $rules);
if ($validation->fails())
{
return Response::make($validation->errors->first(), 400);
}
$file = Input::file('file'); // your file upload input field in the form should be named 'file'
$destinationPath = 'public/uploads/'.str_random(8);
// $filename = $file->getClientOriginalName();
$filename = $file['name'];
//$extension =$file->getClientOriginalExtension(); //if you need extension of the file
$uploadSuccess = Input::file('file')->move($destinationPath, $filename);
if( $uploadSuccess ) {
return Response::json('success', 200); // or do a redirect with some message that file was uploaded
} else {
return Response::json('error', 400);
}
}
}
路线:
Route::post('post_files','AuthorsController@post_files');
【问题讨论】:
-
显示包含表单的视图文件
-
我正在从 postman rest api tester 传递一个文件
-
文件发送了吗?在您的控制器操作中尝试 var_dump($_FILES)
标签: php image file upload laravel