Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

convert string/Text to byte array in type script

I am Currently working on task to download file (PDF/excel/text) using secure API in my system in angular 2 (beta) version.

I have used post API with authentication header and trying to create blob using data bytes received.

I have tried using following code

return this.http.get(url, { headers: this.headers}).map( response => response.blob())

But, i got the error that blob method is not implemented in angular 2 HTTP.

so i am trying following code where i need to convert string to byte array.

return this.http.get(Configuration.API_URL + url, { headers: this.headers }).map(
            response => {
                var bytes = [];

                var utf8 = encodeURIComponent(response.text());
                for (var i = 0; i < utf8.length; i++) {
                    bytes.push(utf8.charCodeAt(i));
                }    
                var data = new Blob([bytes], { type: 'application/pdf' });
                var fileURL = URL.createObjectURL(data);
                window.open(fileURL);
            }
        );

here i am facing some issue with the bytes array. Byte array is not same as the one sent by the API.

Need help in either converting string to byte array or using blob in angular 2 HTTP get request.

like image 972
sachin kulkarni Avatar asked Jul 27 '16 08:07

sachin kulkarni


1 Answers

Probably, The below npm package can help you convert it into ByteArray.

https://www.npmjs.com/package/xdata

Hope it helps you!

Cheers!

like image 171
Varit J Patel Avatar answered Oct 21 '22 21:10

Varit J Patel