0

就在最近,对多部分/表单数据上传的支持被添加到 Restler v3 ( source ),但我无法让它工作。在我的 index.php 文件中,我添加了:

$r->setSupportedFormats('JsonFormat', 'UploadFormat');

当我发布 .txt 文件时,出现以下错误(这是意料之中的,因为默认的“允许”格式是“image/jpeg”、“image/png”:

"error": {
    "code": 403,
    "message": "Forbidden: File type (text/plain) is not supported."
}

但是,当我发布 .jpg 文件时,我收到以下错误:

"error": {
    "code": 404,
    "message": "Not Found"
}

我错过了什么?这是我的功能:

function upload() {
    if (empty($request_data)) {
        throw new RestException(412, "requestData is null");
    }
    return array('upload_status'=>'image uploaded successfully');
}
4

1 回答 1

1

我想到了!我只需要一个post()功能!对于遇到与我遇到的相同问题的任何人,这是我使用 Restler 3 上传文件的解决方案:

索引.php

<?php
    require_once '../vendor/restler.php';
    use Luracast\Restler\Restler;

    $r = new Restler();    
    $r->addAPIClass('Upload');  
    $r->setSupportedFormats('JsonFormat', 'UploadFormat');

    $r->handle();

上传.php

<?php
    class Upload {
        function get(){
           if (empty($request_data)) {
              throw new RestException(412, "requestData is null");
           }
        }

        function post($request_data=NULL) {
           return array('upload_status'=>'image uploaded successfully!');
        }
    }
于 2013-03-31T21:34:16.333 回答