Javascript 在React中显示二进制PDF

Javascript 在React中显示二进制PDF,javascript,reactjs,pdf,binary,base64,Javascript,Reactjs,Pdf,Binary,Base64,在react中是否有方法获取pdf文档的二进制文件并显示pdf?我已经看过了,但它似乎不支持二进制。我也考虑过使用iframe,但同样,我只能使用base64。。。如果有办法将二进制文件转换为base64,我仍然可以在iframe中显示它,但我在这里有点不知所措。我将分享我的工作示例。我在这里使用base64显示,因此您必须自己将二进制文件转换为base64 getDoc = binary => e => { if (binary != null) { var c

在react中是否有方法获取pdf文档的二进制文件并显示pdf?我已经看过了,但它似乎不支持二进制。我也考虑过使用iframe,但同样,我只能使用base64。。。如果有办法将二进制文件转换为base64,我仍然可以在iframe中显示它,但我在这里有点不知所措。

我将分享我的工作示例。我在这里使用base64显示,因此您必须自己将二进制文件转换为base64

getDoc = binary => e => {
    if (binary != null) {
      var contentType = "application/pdf";

      this.setState({
        doc: "data:" + contentType + ";base64," + binary
      });
    } else {
      this.setState({
        doc: ""
      });
    }
  };
显示模态的按钮

render() {
<button
            className="btn btn-warning btn-sm"
            href="#"
            role="button"
            data-toggle="modal"
            data-target="#previewModal"
            onClick={this.getDoc(your_file)}
>
render(){
使用嵌入显示文件

<div
        id="previewModal"
        className="modal fade"
        role="dialog"
      >
        <div className="modal-dialog modal-lg">
          {/* <!-- Modal content--> */}
          <div className="modal-content">
            <div className="modal-header">
              <h4 className="modal-title">Doc</h4>
              <button type="button" className="close" data-dismiss="modal">
                &times;
              </button>
            </div>
            <div className="modal-body">
              <embed
                src={this.state.doc}
                id="displayFile"
                alt="your image"
                width="100%"
                height="99%"
                style={{ borderStyle: "solid" }}
                type="application/pdf"
              />
            </div>
          </div>
        </div>
      </div>
}


{/*  */}
医生
&时代;
}

我将分享我的工作示例。我在这里使用base64显示,因此您必须自己将二进制文件转换为base64

getDoc = binary => e => {
    if (binary != null) {
      var contentType = "application/pdf";

      this.setState({
        doc: "data:" + contentType + ";base64," + binary
      });
    } else {
      this.setState({
        doc: ""
      });
    }
  };
显示模态的按钮

render() {
<button
            className="btn btn-warning btn-sm"
            href="#"
            role="button"
            data-toggle="modal"
            data-target="#previewModal"
            onClick={this.getDoc(your_file)}
>
render(){
使用嵌入显示文件

<div
        id="previewModal"
        className="modal fade"
        role="dialog"
      >
        <div className="modal-dialog modal-lg">
          {/* <!-- Modal content--> */}
          <div className="modal-content">
            <div className="modal-header">
              <h4 className="modal-title">Doc</h4>
              <button type="button" className="close" data-dismiss="modal">
                &times;
              </button>
            </div>
            <div className="modal-body">
              <embed
                src={this.state.doc}
                id="displayFile"
                alt="your image"
                width="100%"
                height="99%"
                style={{ borderStyle: "solid" }}
                type="application/pdf"
              />
            </div>
          </div>
        </div>
      </div>
}


{/*  */}
医生
&时代;
}
请参见