【问题标题】:convert string/Text to byte array in type script在打字稿中将字符串/文本转换为字节数组
【发布时间】:2023-03-10 03:43:01
【问题描述】:

我目前正在处理在我的系统中使用 angular 2(测试版)版本的安全 API 下载文件(PDF/excel/文本)的任务。

我使用了带有身份验证标头的 post API,并尝试使用接收到的数据字节创建 blob。

我尝试过使用以下代码

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

但是,我得到了 blob 方法没有在 angular 2 HTTP 中实现的错误。

所以我正在尝试以下代码,我需要将字符串转换为字节数组。

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);
            }
        );

这里我遇到了字节数组的一些问题。字节数组与API发送的不同。

在将字符串转换为字节数组或在 Angular 2 HTTP 获取请求中使用 blob 时需要帮助。

【问题讨论】:

标签: angularjs http typescript angular blob


【解决方案1】:

可能,下面的 npm 包可以帮助您将其转换为 ByteArray。

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

希望对你有帮助!

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 2019-10-30
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多