Предварительный просмотр файла в загрузчике antd

#reactjs

#reactjs

Вопрос:

У меня есть этот загрузчик из ant design:

 import React from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import "./index.css";
import {Upload, Icon, Modal} from "antd";

function getBase64(file) {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = () => resolve(reader.result);
        reader.onerror = (error) => reject(error);
    });
}

class PicturesWall extends React.Component {
    state = {
        previewVisible: false,
        previewImage: "",
        fileList: [
            {
                uid: "-1",
                name: "image.png",
                status: "done",
                url:
                    "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
            },
            {
                uid: "-2",
                name: "image.png",
                status: "done",
                url:
                    "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
            },
            {
                uid: "-3",
                name: "image.png",
                status: "done",
                url:
                    "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
            },
            {
                uid: "-4",
                name: "image.png",
                status: "done",
                url:
                    "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
            },
            {
                uid: "-5",
                name: "image.png",
                status: "error"
            }
        ]
    };

    handleCancel = () => this.setState({previewVisible: false});

    handlePreview = async (file) => {
        console.log(file, "prev");
        if (!file.url amp;amp; !file.preview) {
            file.preview = await getBase64(file.originFileObj);
        }

        this.setState({
            previewImage: file.url || file.preview,
            previewVisible: true
        });
    };

    handleChange = ({fileList}) => this.setState({fileList});

    render() {
        const {previewVisible, previewImage, fileList} = this.state;
        const uploadButton = (
            <div>
                <Icon type="plus"/>
                <div className="ant-upload-text">Upload</div>
            </div>
        );
        return (
            <div className="clearfix">
                <Upload
                    accept="application/pdf"
                    action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
                    listType="picture-card"
                    fileList={fileList}
                    onPreview={this.handlePreview}
                    onChange={this.handleChange}
                >
                    {fileList.length >= 8 ? null : uploadButton}
                </Upload>
                <Modal
                    visible={previewVisible}
                    footer={null}
                    onCancel={this.handleCancel}
                >
                    <img alt="example" style={{width: "100%"}} src={previewImage}/>
                </Modal>
            </div>
        );
    }
}

ReactDOM.render(<PicturesWall/>, document.getElementById("container")); 

Проблема в том, что я не могу просмотреть файлы pdf.
Почему я не могу просмотреть файл, если загружаю формат pdf? Режим предварительного просмотра открыт только для изображений, но для файлов значок отключен. Кто может помочь?
https://codesandbox.io/s/intelligent-mayer-e26cp?file=/index.js:0-2718

Комментарии:

1. @mehamasum, не могли бы вы помочь, пожалуйста.