在laravel 4中工作的相同代码,但在laravel 5中不起作用。
以下是所有代码:
//Redactor Image Upload
Route::post('image/upload', function(){
$image = Input::file('file');
$filename = 'bdtimes'.rand(10, 99999999).'.'.$image->getClientOriginalExtension();
$move = Image::make($image->getRealPath())->save('uploads/images/original/'.$filename);
if($move){
return Response::json(['filelink'=>'/uploads/images/original/'. $filename]);
}else{
return Response::json(['error'=>true]);
}
});
Redactor脚本:
$(function()
{
$('#redactor').redactor({
focus: true,
imageUpload: '{{ url() }}/image/upload',
imageManagerJson: '{{ url() }}/image.php',
plugins: ['table', 'video','imagemanager','fontcolor','fontsize','fullscreen'],
maxHeight: 300,
minHeight: 300
});
});
在Chrome Developer Tool中,此错误显示我何时尝试上传图片。
Failed to load resource: the server responded with a status of 500 (Internal Server Error) http://localhost:8000/image/upload
有什么问题?请帮帮我。
由于
答案 0 :(得分:1)
更新了答案
令牌存在问题。更改Redactor脚本..
$(function()
{
$('#redactor').redactor({
focus: true,
imageUpload: '{{ url() }}/image/upload?_token=' + '{{ csrf_token() }}',
imageManagerJson: '{{ url() }}/image.php',
plugins: ['table', 'video','imagemanager','fontcolor','fontsize','fullscreen'],
maxHeight: 300,
minHeight: 300
});
});
答案 1 :(得分:0)
这意味着路线中的某条线路出错。看看你的代码我没有看到任何明显的问题,它可能与导入等有关,这里没有显示。
尝试在每一行之后使用dd()来打印调试信息,直到找到确切的行是什么坏了。
您还可以查看Chrome开发者工具的ajax请求响应,因为它必须包含有关确切错误的更多信息。
答案 2 :(得分:0)
使用带有yii框架的redactor时遇到了同样的问题。我认为问题在于设置上传目录的路由。因此,redactor的开发人员改变了一些代码以防止这种情况发生。 在RedactorModule.php中> public function getSaveDir()改变了这个:
$path = Yii::getAlias($this->uploadDir);
if (!file_exists($path)) {
throw new InvalidConfigException('Invalid config $uploadDir');
}
if (FileHelper::createDirectory($path . DIRECTORY_SEPARATOR . $this->getOwnerPath(), 0777)) {
return $path . DIRECTORY_SEPARATOR . $this->getOwnerPath();
到此:
$path = Yii::getAlias($this->uploadDir) . DIRECTORY_SEPARATOR . $this->getOwnerPath();
if(!file_exists($path)){
if (!FileHelper::createDirectory($path, 0775,$recursive = true )) {
throw new InvalidConfigException('$uploadDir does not exist and default path creation failed');
}
}
return $path;