1
在我的Laravel 5.2应用程序中,我使用CloudConvert转换我的文件。我已经实现了异步转换,它需要一个公共回调URL到我的网站。就像这样:作为API回调的Laravel路由:如何避免“响应内容必须是字符串或对象”错误?
public function upload(Request $request) {
// Store uploaded file...
CloudConvert::file(/* path to the file */)
->callback(action('[email protected]'))
->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。
我明白,这是因为路由被称为并返回true
或false
,而不是如渲染一个视图。
我应该怎么回来避免错误?足够的字符串了吗?有什么具体的我可以返回这种呼叫?
如果我还想停止脚本,例如,具体Request
输入缺少?
是的,我也认为这是要走的路。这是一个API调用,所以返回JSON是合法的。我最终做了'return response() - > json(['success'=> false],500)''返回错误并返回response() - > json(array('success'=> true)如果一切都很好。谢谢。 – lesssugar