1

在我的 Laravel 5.2 应用程序中,我使用 CloudConvert 来转换我的文件。我已经实现了异步转换,这需要一个指向我的站点的公共回调 URL。像这样:

public function upload(Request $request) {
    // Store uploaded file...
    CloudConvert::file(/* path to the file */)
        ->callback(action('UploadController@saveFileFromProcess'))
        ->convert('pdf');
}

和回调:

public function saveFileFromProcess() {
    try {
        CloudConvert::useProcess($request->input('url'))
            ->save(/* path to file storage */);
    } catch (\Exception $e) {
        Log::error($e->getMessage());
        return false;
    }        

    return true;
}

现在,转换工作正常。但是我可以在日志中看到 Laravel 在转换完成后抛出错误:

响应内容必须是实现 __toString() 的字符串或对象,给出“布尔值”。

我知道这是因为调用了路由并且它返回trueor false,而不是例如渲染视图。

然后我应该返回什么以避免错误?一根弦就够了吗?有什么具体的我可以为这种电话返回吗?

如果我仍然想在Request缺少特定输入时停止脚本怎么办?

4

1 回答 1

3

您可以返回一个包含响应的数组,例如return ['status' => true];,它会自动转换为 JSON,如果您使用 AJAX 访问此路由,则可以使用它。

于 2016-06-16T09:02:58.567 回答