【问题标题】:react download the document in the same pagereact 在同一页面下载文档
【发布时间】:2019-06-13 10:35:45
【问题描述】:

我正在尝试在同一页面上下载文件。但问题并没有发生。

我调试了代码,得到了 b64Data 变量中的数据。 url正在添加blobUrl,但我需要在与此小提琴类似的同一页面中下载http://jsfiddle.net/ovfiddle/7NqKb/

你能告诉我如何解决它吗?

在下面提供我的代码sn-p:

fileContents = (data) => {
        console.log(data);
        console.log("data.content--->", data.data.content);
        var contentType = 'application/pdf';

        var b64Data = data.data.content;

        var blob = b64toBlob(b64Data, contentType);
        var blobUrl = URL.createObjectURL(blob);
        console.log("displayDocumentData blobUrl--->", blobUrl);
        //window.location = blobUrl;
        console.log(blobUrl);
        this.setState({ downloadUrl: blobUrl });


    }


    <Button
    onClick={e => {
        this.props.actions.downloadDocumentData(this.fileContents);
    }}
    variant="outlined"
    color="primary"
    size="small"
// className={classes.button}
>

    Download Document test
</Button>

【问题讨论】:

    标签: javascript html css reactjs redux


    【解决方案1】:

    这样试试

    const link = document.createElement('a');
    link.href = URL.createObjectURL(blob);
    link.setAttribute('visibility', 'hidden');
    link.setAttribute('download', 'your file name');
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
    
    

    【讨论】:

    • 嘿它的工作,你能告诉我如何以反应方式实现......你能解释一下你的代码
    • 这段代码创建了一个不可见的 html 元素,该元素链接到您的资源,并以编程方式单击它以开始下载
    猜你喜欢
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    相关资源
    最近更新 更多