Javascript LoadFromJson不工作/在上载结构文本后忽略对象属性
在画布的上传和下载过程中,我遵循以下步骤。这个项目正在进行中Javascript LoadFromJson不工作/在上载结构文本后忽略对象属性,javascript,angular,fabricjs,Javascript,Angular,Fabricjs,在画布的上传和下载过程中,我遵循以下步骤。这个项目正在进行中 我使用:JSON.stringify将画布保存到DB/text文件(可以很好地进行序列化) 我从该文本文件加载画布进行编辑:loadFromJSON(正确上载) 在上载的画布中进行一些更改并再次上载文本,Itext扩展类将被截断 下面给出了支持代码 /// /// SAVING TO TEXT FILE FORMAT /// async onSave(layoutName:any) { this.layoutName =l
///
/// SAVING TO TEXT FILE FORMAT
///
async onSave(layoutName:any) {
this.layoutName =layoutName;
console.log(JSON.stringify(this.canvasJson));
if(this.canvasJson) {
let blob = new Blob([JSON.stringify(this.canvasJson)], { type: 'text/plain' });
FileSaver.saveAs(blob, this.layoutName + '.text');
this.layoutName = null;
}
this.fabricService.addGrid(this.fabricService.canvas);
this.addNameModel.hide();
}
///
/// TEXT FILE TO CANVAS
///
async onChange(event:any): Promise<void> {
const files = event.target.files;
let file = files[0];
if(file) {
const data = await new Response(file).text(); // .json()
console.log(data);
this.fabricService.addGrid(this.fabricService.canvas);
this.fabricService.canvas.loadFromJSON(data,
this.fabricService.canvas.renderAll.bind(this.fabricService.canvas));
this.fabricService.updateModifications(true);
}
console.log(this.fabricService.canvas);
this.reset();
this.uploadPromptModal.hide();
}
//
///保存为文本文件格式
///
异步onSave(layoutName:any){
this.layoutName=layoutName;
log(JSON.stringify(this.canvasJson));
if(this.canvasJson){
让blob=newblob([JSON.stringify(this.canvasJson)],{type:'text/plain'});
FileSaver.saveAs(blob,this.layoutName+'.text');
this.layoutName=null;
}
this.fabricService.addGrid(this.fabricService.canvas);
this.addNameModel.hide();
}
///
///文本文件到画布
///
异步onChange(事件:any):承诺{
const files=event.target.files;
让file=files[0];
如果(文件){
const data=wait new Response(file).text();/.json()
控制台日志(数据);
this.fabricService.addGrid(this.fabricService.canvas);
这个.fabricService.canvas.loadFromJSON(数据,
this.fabricService.canvas.renderAll.bind(this.fabricService.canvas));
this.fabricService.updateModifications(true);
}
log(this.fabricService.canvas);
这是reset();
this.uploadPromptModal.hide();
}
我错过了什么
注意:我认为在JSON.stringify(this.canvasJson)过程中可能会出现问题,它会截断扩展类