我正在使用antd's upload component来允许用户上传文档。现在,在用户上传它之后,我还希望允许他下载刚刚上传的附件。我知道文档通过以下方式对此进行了解释:
import { Upload, Button, Icon } from 'antd';
const props = {
action: '//jsonplaceholder.typicode.com/posts/',
onChange({ file, fileList }) {
if (file.status !== 'uploading') {
console.log(file, fileList);
}
},
defaultFileList: [{
uid: '1',
name: 'xxx.png',
status: 'done',
response: 'Server Error 500', // custom error message to show
url: 'http://www.baidu.com/xxx.png',
}],
};
ReactDOM.render(
<Upload {...props}>
<Button>
<Icon type="upload" /> Upload
</Button>
</Upload>,
mountNode
);
但是我想允许在同一页面上进行下载,并且不想在单击时打开新窗口。我该怎么办?有更好的方法来解决这个问题吗?
答案 0 :(得分:0)
default behavior将在新窗口中打开文件。
您可以通过为onPreview
提供一个Upload
道具来覆盖此行为:
onPreview
:单击文件链接或预览图标时将执行回调函数。
<Upload
//...
onPreview={handlePreview}
>
现在,编写您自己的逻辑以将文件下载到handlePreview
中。您可以在线找到许多有关如何实现该目标的示例。
const handlePreview = (file) => {
console.log(file);
// write how you want to download
}