0

我想用 adobe dc view 从 c# 后面的代码中获取文件,我不知道该怎么做,而且我在互联网上找不到示例。

如果有人可以提供帮助,这里是代码

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">  
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="adobe-dc-view"></div>
<script src="https://documentcloud.adobe.com/view-sdk/main.js"></script>
<script type="text/javascript">
    document.addEventListener("adobe_dc_view_sdk.ready", function () {
        var adobeDCView = new AdobeDC.View({ clientId: "xxxxxxxxxx", divId: "adobe-dc-view" });
        adobeDCView.previewFile({
            content: { location: { url: "myfile.pdf" } },
            metaData: { fileName: "myfile.pdf" }
        }, {
showAnnotationTools: false, showLeftHandPanel: false, showDownloadPDF: false,showPrintPDF: false });
    });
</script>
</asp:Content>
4

1 回答 1

1

不使用 content.location.url,而是将内容作为解析为 ByteArray 的 Promise 传递。让您的 C# 应用程序将 Blob 返回到 HTML 页面,然后通过 Promise 将其加载到 Embed API (view-sdk) 中。

adobeDCView.previewFile(
      {
        content: { promise: Promise.resolve(blob.arrayBuffer()) },
        metaData: { fileName: url.split("/").slice(-1)[0] }
      },

完整代码在这个 CodePen

于 2021-03-05T18:54:04.790 回答