You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UI5中sap.ui.unified.FileUploader读取PDF显示空白问题求助

问题原因与解决方案

嘿,这个问题我碰到过!问题出在你读取PDF文件的方式上:

你用了reader.readAsText(file)来读取PDF,但PDF是二进制格式的文件,把它当成纯文本读取会破坏原始的二进制数据结构——虽然最终生成的Blob文件大小看起来没问题(所以页数显示正确),但实际内容已经被损坏了,自然显示空白。

修正后的代码

openPDF: function (file) {
    if (file && window.FileReader) {
        var reader = new FileReader();
        reader.onload = function (e) {
            var arrayBuffer = e.target.result;
            // 用ArrayBuffer直接创建Blob,保留原始二进制数据
            const url = window.URL.createObjectURL(new Blob([arrayBuffer], { type: 'application/pdf' }));
            window.open(url, '_blank', 'fullscreen=yes');
        };
        // 关键改动:用readAsArrayBuffer读取二进制文件
        reader.readAsArrayBuffer(file);
    }
},

关键说明

  • 替换reader.readAsText(file)为reader.readAsArrayBuffer(file),这样能完整保留PDF的二进制原始数据
  • 直接用读取到的ArrayBuffer创建Blob,不需要做额外转换,确保PDF的格式完整性

这样修改后,打开的PDF应该就能正常显示内容啦!

内容的提问来源于stack exchange,提问作者CandyBear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:50:16