我正在尝试在同一页面上下载文件。但是问题没有发生。
我调试了代码,将数据保存在b64Data变量中。 url中添加了blobUrl,但我需要在与该提琴http://jsfiddle.net/ovfiddle/7NqKb/
类似的同一页面中下载您能告诉我如何解决吗?
在下面提供我的代码段:
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>
答案 0 :(得分: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);