首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >到失败的1006-PDFViewer的websocket连接(文件大小从13 to到20 to )

到失败的1006-PDFViewer的websocket连接(文件大小从13 to到20 to )
EN

Stack Overflow用户
提问于 2022-02-03 02:55:25
回答 1查看 313关注 0票数 0

大家好

我在使用pdf查看器使用ASP.NET核心时遇到了问题,当我们将它部署到暂存环境中时会发生错误,文件类型为pdf,通常的文件大小为13 mb到20 mb。

当我们的QA测试pdf查看器时,他遇到了以下错误:

"WebSocket关闭状态代码: 1006 ()“

而且pdf查看器也不能工作。这种情况很可能发生在使用公司的VPN时,因为每个人都是在家工作的,但是当在办公室使用直接网络连接测试pdf查看器时,pdf查看器正在工作。

下面是我调用PDF查看器的代码:

代码背后:

代码语言:javascript
运行
复制
//Get File from service
objFile = await myServices.GetFile(Id);
byte[] byteArray = objFile.Data;
PDFFilePath = await jSRuntime.InvokeAsync<string>("getBlobObject", Convert.ToBase64String(byteArray));

Javascript:

函数getBlobObject(b64Data) {

代码语言:javascript
运行
复制
const blob = base64ToBlob(b64Data, 'application/pdf');
const url = URL.createObjectURL(blob);


var setpdf = url;
return setpdf;

function base64ToBlob(base64, type = "application/octet-stream") {
    const binStr = atob(base64);
    const len = binStr.length;
    const arr = new Uint8Array(len);
    for (let i = 0; i < len; i++) {
        arr[i] = binStr.charCodeAt(i);
    }
    return new Blob([arr], { type: type });
}

}

剃须刀页:

代码语言:javascript
运行
复制
<div class="d-flex flex-wrap" id="div-pdf">
<iframe src="@PDFFilePath" type="application/pdf" width="100%" height="100%" style="overflow: auto;width:100%; height:746px;"></iframe>'

有办法解决这个问题吗?尤其是当使用公司的VPN访问应用程序时?有什么更好的方法让它起作用吗?

谢谢大家的问候。

EN

回答 1

Stack Overflow用户

发布于 2022-02-04 06:26:37

观念一

确保你有LongPolling

代码语言:javascript
运行
复制
options.Transports = HttpTransportType.WebSockets | HttpTransportType.LongPolling;

来自正式的医生

使用长轮询回送传输时,未能通过WebSockets连接。这可能是由于VPN或代理阻塞了连接。

因此,如果我们启用LongPolling,也许我们可以通过使用LongPolling来解决这个问题。

概念二

  1. 尝试创建一个只有一个页面的pdf文件,并在vpn网络下测试它,看看是否可以重现这个问题。
  2. 如果问题消失,我们可以搜索更多有关在分页中加载PDF文件的信息。
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70965397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档