Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从react native使用axios时,表单数据文件在laravel/lumen中返回null_Laravel_React Native_Axios_Lumen - Fatal编程技术网

从react native使用axios时,表单数据文件在laravel/lumen中返回null

从react native使用axios时,表单数据文件在laravel/lumen中返回null,laravel,react-native,axios,lumen,Laravel,React Native,Axios,Lumen,这是我第一次使用React Native和Laravel 我正在尝试在React Native中创建一个上传表单,以Lumen API 当我尝试使用邮递员将文件上传到Lumen时,效果很好。但是在React Native中使用Axios时: $request->file('file') 返回 空的 ##客户 异步上传文档(文档,文件){ //文档是一些表单数据 //文件:{ //发件人:'me@mail.com', //致:'someone@gmail.com', //文件日期:“202

这是我第一次使用React NativeLaravel

我正在尝试在React Native中创建一个上传表单,以Lumen API

当我尝试使用邮递员将文件上传到Lumen时,效果很好。但是在React Native中使用Axios时:

$request->file('file')
返回

空的

##客户

异步上传文档(文档,文件){
//文档是一些表单数据
//文件:{
//发件人:'me@mail.com',
//致:'someone@gmail.com',
//文件日期:“2020-02-01”,
//     ....
// }    
//来自react本机文档选择器的文件
//文件:{
//文件名:“blabla.pdf”,
//键入:“blabla/blabla”,
//uri:'content://blablabla',
// }
让我们分别;
试一试{
resp=等待axios.post(
`${API_ENDPOINT}/documents`,
helper.createFormData(文件、文档),
{
标题:{
接受:'application/json',
“内容类型”:“多部分/表单数据”,
},
},
);
}捕获(e){
log(`Axios error:${e.message}`);
投掷e;
}
log(`Server response:${JSON.stringify(resp.data)}`);
返回响应;
},
##助手

导出默认值{
createFormData(文件、正文){
const data=新表单数据();
data.append('文件'{
名称:file.fileName,
type:file.type,
uri:file.uri,
});
Object.keys(body.forEach)(key=>{
data.append(key,body[key]);
});
返回数据;
},
};

尝试将
数据.append('file'…)
更改为
数据.append('file',file)
public function store(Request $request) {
    $this->validate($request, [
        "file" => 'required|file',
        "from" => 'required',
        "to" => 'required',
        "subject" => 'required',
        "doc_date" => 'required',
        "doc_type" => 'required',
        "doc_number" => 'required',
    ]);

    $file = $request->file('file');

    $fileName = $file->getClientOriginalName();

    $saved_name = uniqid() . '_' . $fileName;

    $path = "uploads" . DIRECTORY_SEPARATOR . "documents" . DIRECTORY_SEPARATOR;

    $file->move($path, $saved_name);

    $document = new Document();

    $document->from = $request->input("from");
    $document->to = $request->input("to");
    $document->subject = $request->input("subject");
    $document->doc_date = $request->input("doc_date");
    $document->doc_type = $request->input("doc_type");
    $document->doc_number = $request->input("doc_number");
    $document->file_path = $path . $saved_name;

    $document->save();

    return response()->json(['document' => $document], 201);
}