【发布时间】:2015-03-21 12:41:36
【问题描述】:
当我尝试使用邮递员向我的 Laravel api 发送文件时,结果总是返回“NULL”
我的控制器如下所示:
public function store()
{
$file = Input::file('image');
var_dump($file);
}
还有我的路线文件:
Route::post('test', 'TestController@store');
但是当我尝试在邮递员中发送图像时,我得到的结果是“NULL”
我的邮递员配置是:
http://app.dev/test (POST)
Content-Type - multipart/form-data
表单数据
图片 - test.jpg
我错过了什么吗?
我检查了 php.ini 以便有足够的空间上传
我的问题与这篇文章中的完全一样: Correct Postman Settings when testing file uploading in Laravel 4?
但他的解决方案没有奏效。我已经检查了我的 php.ini
如果我使用资源控制器并从浏览器输入 url,则下面的代码可以工作:
public function store()
{
$input = Input::all();
$path = public_path() .'/images/123/';
$inpusqt = Input::file('images');
$i = 1;
File::exists($path) or File::makeDirectory($path);
foreach($inpusqt as $file) {
$filExt = $file->getClientOriginalExtension();
$ext = '.' . $filExt;
$lol = Image::make($file->getRealPath());
$lol->heighten(258)->save($path . $i . $ext);
$i++; //increment value to give each image a uniqe name
}
}
但是,如果我将路由修改为例如 post::(controller@store) 并使用邮递员发送图像,则会收到一条错误消息,提示“未定义索引:图像”
【问题讨论】:
-
没有错误,只有“NULL”响应 不能使用 getRealPath() 等,因为没有上传任何内容
-
你没有返回任何东西。你只是 var_dump'ing 数据。尝试返回 json。
-
你能从浏览器访问那个控制器吗?也许它抛出了一个异常并且你已经关闭了调试。
-
如果没有最新版本请升级邮递员
-
我试过 json,同样返回 NULL。而且我得到了最新的邮递员,以及打包的应用程序。你能用上面的代码发布文件吗?
标签: php mysql file api laravel