上传:
export const add=(params: any) => http.request({ method: 'post', url: '/app/helpcenter/add', params, config: { headers: { 'Content-Type': 'multipart/form-data' } } })
下载:
export const statisZanCaiExport = (data:any)=> http.request({method:'post',url:'/app/statis/statisZanCaiExport',params:data,returnAll:true,config:{responseType: 'arraybuffer'}})
上传通过formData
const formData = new FormData()
formData.append('file', this.file)
formData.append('description', values.docDesc)
下载有两种方式,一个接口返回一个下载地址,二是接口返回一个二进制流的数据
(1)下载地址的方式
downLoadHelpDocument = async (docUrlParam: string) => {
const params = {
docUrl: docUrlParam,
}
await downloadHelpDocumentUrl(params).then((res: any) => {
if (!!res && res.retCode === 'N-000000') {
const win = window.open(res.retData.downloadUrl, '_blank')
if (!!win) {
win.location.href = res.retData.downloadUrl
}
}
})
}
(2)二进制流方式
exportData = async () => {
try {
await statisZanCaiExport({ statisDate: this.state.datePickValue.format('YYYYMMDD') }).then(res => {
const url = window.URL.createObjectURL(new Blob([res], { type: 'application/octet-stream;charset=utf-8' }))
// 创建A标签
const link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.download = `知识点赞踩明细${moment().format('YYYYMMDD')}.xlsx`
document.body.appendChild(link)
link.click()
message.success('导出成功!')
})
} catch (error) {
message.success('导出失败!')
}
}