download = (filename) => {
const data = {
a: 11,
b: [{ a: 1, b: 3 }]
};
let pom = document.createElement('a');
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(data)));
pom.setAttribute('download', filename);
if (document.createEvent) {
let event = document.createEvent('MouseEvents');
event.initEvent('click', true, true);
pom.dispatchEvent(event);
} else {
pom.click();
}
};
transformFile = (file) => {
return new Promise(resolve => {
const malls = MallUtils.getSecurityInfos();
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
console.dir(reader.result)
let result = Base64.decode(_.split(reader.result, ',')[1]);
console.dir(result);
};
});
};
<Button type="primary"
onClick={() => this.download('data.txt')}>
下载文件
</Button>
<Upload accept=".txt"
showUploadList={false}
name="file"
transformFile={this.transformFile}>
<Button type="primary">导入文件</Button>
</Upload>
reader.result数据如下图:
下载文件来源链接:www.cnblogs.com/recode-hyh/…
导入文件来源链接:cloud.tencent.com/developer/a…