api Laravel

时间:2017-11-08 17:15:21

标签: php laravel api

我在Laravel的API中有一条适用于iOS应用的路线,可让您上传本教程中提供的图像https://www.codetutorial.io/laravel-5-file-upload-storage-download/ 当我试图上传文件时,它变为空。

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Fileentry;
use Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;
use Illuminate\Http\Response;

class FileEntryController extends Controller
{


    public function add() {

        $file = Request::file('filefield');
        $extension = $file->getClientOriginalExtension();
        Storage::disk('local')->put($file->getFilename().'.'.$extension,  File::get($file));
        $entry = new Fileentry();
        $entry->mime = $file->getClientMimeType();
        $entry->original_filename = $file->getClientOriginalName();
        $entry->filename = $file->getFilename().'.'.$extension;

        $entry->save();

        return redirect('fileentry');

    }
}

路线:

$api = app('Dingo\Api\Routing\Router');


$api->version('v1', function ($api) {
    $api->post('fileentry/add',array(
        'as' => 'addentry',
        'uses' => 'App\Http\Controllers\FileEntryController@add'
    ));
}

用户没有通过应用程序与网页进行交互

可能导致问题的其他信息是我使用Postman将图像上传到laravel应用程序(方法:POST,通过二进制文件)。

2 个答案:

答案 0 :(得分:0)

在您的html表单中添加此属性

[(0, "Comment2", "1 month, 26 days"),
 (1, "Comment3", "1 month, 9 days"),
 (0, "Comment1", "12 days, 18 hours"),
 (1, "Comment5", "7 days, 18 hours"),
 (2, "Comment6", "4 days, 18 hours"),
 (1, "Comment4", "6 days, 18 hours")]

答案 1 :(得分:0)

尝试使用postman中的form-data方法并添加参数作为文件类型。

请注意,参数的键必须等于您尝试进入后端的键。在您的情况下,它是filefield

$file = Request::file('filefield');