如何获取 json 文件对象并将其上传到 laravel

How to get json file object and upload it in laravel

我想在 laravel 上传一个 json 文件对象,这个对象来自 angular js,格式如下:

{
      "key": "lfobj2399fe3b",
      "lfFile": {},
      "lfFileName": "photo-1433354359170-23a4ae7338c6.jpg",
      "lfDataUrl": "blob:http://localhost/14044b8b-9dcb-4461-8e2e-cf5337611396",
      "element": {
        "0": {
          "ng339": 198
        },
        "length": 1
      }
    } 

这是我在 angular js 中用来实现文件上传的插件: https://github.com/shuyu/angular-material-fileinput

我试过了:

if ($request->hasFile('banners')) {
      return \Response::json('file available',$statusCode);
   }

检查我的输入中是否有任何文件可用,但我什么也没有。 如果我想将此对象作为一个对象获取,我将使用以下方法获取它的值:

$banners = $request->input('banners');

但我无法使用此输入上传任何文件。 我怎样才能得到这个对象并将其上传到 laravel 中?

要处理 json 个对象,您可以使用:

$request->input('object_name');

对于从 angular 上传,您可以使用表单数据请求,然后在 laravel 中处理它,例如:

if (isset($_FILES['files']) && $_FILES['files']['error'] == 0) {

                ############ Edit settings ##############
                $UploadDirectory = '../public/images/banners/'; //specify upload directory ends with / (slash)

                ##########################################

                $NewFileName = strtolower($_FILES['files']['name']);

                //===========Remove the file if exist==============
                if(file_exists($UploadDirectory.$NewFileName)) {
                    unlink($UploadDirectory.$NewFileName);
                }
                //===========Remove the file if exist==============

                if (move_uploaded_file($_FILES['files']['tmp_name'], $UploadDirectory . $NewFileName)) {
                    $Access_Directory = "/images/banners/";
                    $file = $Access_Directory . $user_id . "/". $NewFileName;
                    return $file;

                }
            }

这个方法我用过,效果还不错。