使用 ajax 时没有从文本到数组缓冲区的转换
No conversion from text to arraybuffer when using ajax
我正在尝试使用 ajax 获取文件并使用虚拟标签添加下载数据 URI。我正在使用这个lib jquery.binarytransport.js
当我尝试使用二进制或数组缓冲区选项获取 pptx 文档时:
$.get(url, function(data) {
var dataURI = 'data:application/octet-stream;base64,' + btoa(data);
}, 'binary');
或
$.get(url, function(data) {
var dataURI = 'data:application/octet-stream;base64,' + btoa(data);
}, 'arraybuffer');
我有错误"No conversion from text to binary"
或者"No conversion from text to arraybuffer"
blob 发生同样的情况。
当我将类型设置为文本时,当我在响应上使用 btoa 函数时出现错误:"Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range."
有人知道如何解决这个问题吗?
我已经通过使用文本作为 responseType 并使用这个函数来解决这个问题:
function base64(buffer) {
var binary = '';
var bytes = new Uint8Array(buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return window.btoa(binary);
}
相关文章:
- 将ajax数组缓冲区响应绘制到画布中
- 使用 ajax 时没有从文本到数组缓冲区的转换
- JavaScript-将数组缓冲区转换为字符串
- 使用 AJAX 上传数组缓冲区(音频缓冲区)的最佳方法
- 编码然后在 base64 中解码不会输出我的输入数组缓冲区
- 有没有办法将数组缓冲区从javascript传递到Android上的java
- Firefox操作系统-在物理硬件上中断XMLHttpRequest数组缓冲区请求
- 如何将数组缓冲区转换为字符串
- Webaudio API:将数组缓冲区作为文件存储在服务器上,稍后检索
- dojo/使用NodeJS请求一个png图像数组缓冲区,并将图像返回给客户端
- 数组缓冲区IE10-类型化的数组构造函数参数无效
- 如何识别数组缓冲区是字符串还是图像
- HTML5 Audio API inputBuffer.getChannelData到音频数组缓冲区
- 将数组缓冲区转换为字符串
- 不能给类型化数组缓冲区赋值
- 音频数组缓冲区到音频元素
- javascript readAsArrayBuffer返回空数组缓冲区
- 在JavaScript中转换任何数据到数组缓冲区
- NodeJS提取数组缓冲区的视频作为图像
- RangeError:无效的数组缓冲区长度