最近的一个项目需要用到jsPDF导出保存的功能,但是jsPDF默认是没有保存到服务器端的

其实实现起来也挺简单的(找到方法后)。

前端代码:

var doc = new jsPDF(参数自己设置);
doc.save('test.pdf'); // 保存操作
var fileName = btoa(doc.output());   //获取文件名并转码  doc.output()是jspdf给的一个方法,btoa()是对文件名进行Base64转码
//然后用ajax将转码了的文件名传过去就行了
$.ajax({
    url:"",  //后台接收地址
    data:{
       fileName : fileName,
    },
    type:'post',
    async: false,
    success:function(res) {
                           
    }
});

后端代码(这里使用的是php):

$data = $this->request->param(); 
$fileName = $data['fileName'];
$time = date('YmdHis', time());
file_put_contents("$time.pdf", $fileName);
return ['code'=>1,'msg'=>'保存成功'];