Laravel无法通过HTTP POST请求访问FormData?

时间:2018-06-29 19:13:51

标签: laravel http

当我将内容类型设置为 multipart / form-data 时,但是当我将内容类型设置为 application / x-时,我很难从请求中获取值www-form-urlencoded 一切正常。这些值似乎为空。

我通过邮递员发送的请求:  A Postman request I sent

Laravel API代码段:

use Illuminate\Http\Request;

      ...

public function foo(Request $req){
    echo $req->get('some_key');
}

我尝试通过 $ req-> get('key_name') $ req-> key_name 提取值,但无济于事。调用 $ req-> all()方法可为我提供具有正确内容的数组,但我也难以从中提取值,是否有更简单的方法来实现此目的?预先感谢。

1 个答案:

答案 0 :(得分:1)

使用multipart/form-data时,请将操作设置为PUTPATCH,并确保使用FormData对象客户端:

let Data = new FormData();

// using vuejs as an example of appending files.
Data.append( 'your_file', this.$refs.input.files[0], this.$refs.input.files[0].name ); 
Data.append('_method', 'PATCH');

axios.post('/api/foo', Data ).then( Response => { 
   // handle success
});