javascript - react 在同一页面下载文档
问题描述
我正在尝试在同一页面上下载文件。但问题并没有发生。
我调试了代码,在 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>
解决方案
像这样试试
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);
推荐阅读
- python - 提取匹配关键字python的行
- javascript - Output all nested array elements with recursion
- php - 如何找到列总和达到某个数字的日期?
- symfony - 将外部 PHP 应用程序包含到 iFrame (Twig/Symfony)
- python - 在 Python 中发送 HTTP API 请求并将 json 数据转换为 csv 格式
- android - 启动应用程序时如何选择一个活动作为启动活动?
- javascript - 将 javascript 对象转换为 JSON
- c# - 使用 clientcontext.executequery() 上传文档和更新共享点库中的元数据时操作已超时
- python - 在列中查找字符串但在同一行下的不同列中返回值
- java - Spring Boot 2 自定义图标