我正试图在laravel中展示这本书。当第一本书加载时,它将显示该书的第一页。但是当我单击书签按钮时,它将重新加载页面,但不再显示该书。我正在使用pdf.js。
我的Javascript函数:
function pdf( count , scale)
{ console.log(count);
pdfjsLib.getDocument('../uploads/{{$book->file_path}}').then (doc => {
doc.getPage(count).then(page => {
var myCanvas=document.getElementById('my-canvas');
var context= myCanvas.getContext('2d');
const viewport = page.getViewport(scale);
myCanvas.height = viewport.height;
myCanvas.width = viewport.width;
page.render({
canvasContext: context,
viewport: viewport
});
});
});
}
function bookmark()
{
var url= '{{route('save_bookmark', ['b_id' => ':b_id', 'p_no' => ':p_no'])}}';
url = url.replace(':b_id', book);
url = url.replace(':p_no', count);
document.location.href = url;
}
我的路线:
Route::get("save_bookmark/{b_id}/{p_no}",'BookmarkController@create')->name('save_bookmark');
我的控制器:
public function create($b_id, $p_no)
{
$b=new bookmark;
$b->u_id=Auth::user()->id;
$b->book_id=$b_id;
$b->p_no=$p_no;
$b->save();
$b=Book::find($b_id);
return view('pages/readbook')->with('book', $b)->with('count',$p_no);
}
第一本书打开时一切正常,但是单击书签后却找不到书。。我已经测试了这本书,计数变量得到了很好的接收。
错误:
GET http://localhost/BookLibrary/public/save_bookmark/uploads/51312.pdf 500 (Internal Server Error)
有什么建议吗?