Я конвертирую изображение в строку со следующим кодом.Преобразование работает, когда я включаю некоторые операторы отладчика.Он перестает работать, когда я их удаляю.Вот ссылка на мой github ссылка на github Что мне здесь не хватает?
export class ImageUploaderComponent implements OnInit {
public context: CanvasRenderingContext2D;
@ViewChild('mycanvas') mycanvas;
preview(e: any): void {
const canvas = this.mycanvas.nativeElement;
const context = canvas.getContext('2d');
context.clearRect(0, 0, 300, 300);
// show image to canvas
const render = new FileReader();
render.onload = (event: any) => {
const img = new Image();
img.onload = () => {
canvas.width = img.width;
canvas.height = img.height;
context.drawImage(img, 0, 0);
};
img.src = event.target.result;
};
render.readAsDataURL(e.target.files[0]);
this.convertBufToStr(render.result);
localStorage.setItem('imageStore', render.result);
}
convertBufToStr(buf): string {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}
convertStrToBuf(str) {
const buf = new ArrayBuffer(str.length * 2);
const bufView = new Uint16Array(buf);
for (let i = 0, strLen = str.length; i < strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
ngOnInit() {}
}