记录两个react下载的方法

这篇博客介绍了在React中实现文件下载的两种方法。第一种方法通过创建隐藏的form元素并模拟提交来调用接口下载。第二种方法则是利用a标签的click事件触发下载,直接在JS中设置href和download属性。这两种方法都可以在不经过浏览器网络面板的情况下完成接口调用和参数传递。
摘要由CSDN通过智能技术生成

第一种方法,可以在network查看到接口的调用和请求体携带的参数

import ReactDOM from ‘react-dom’

exportFn = ()=>{
let exportStr
exportStr = 下载当前文件的ID
this.exporUtilModel(exportStr)//调用下载方法

}

exporUtilModel =(exportStr)=>{

Iet divElement = document.getElementById(‘downloadDiv’)//虚拟个div

let path = ‘xxxxxxxxx’//下载所需要的接口

React.render(

<form action={path) method=‘post’>//把接口和请求方式填写一下

<input name=‘id’ type=‘text’ value={exportStr}</input>

</form>,

divElement)

ReactDom.findDOMNode(divElement).quertSelector(‘form’).submit()//找到新建的div,提交它

ReactDom.unmountComponentAtNode(divElement)//用过即弃

}

在jsx里要写<div id='divElement' ></div>

第二种方法 ,在network上面框看不见接口调用和参数

exportfn=(donwloadID)=>{

//输入进来的参数是要下载的数据的唯一id

const a= document.createElement(‘a’)//创建一个标签

let path = ‘xxxxxx?id’+downloadID//接口后面拼接参数

a.setAttribute(‘download’,’’)//给元素属性赋值

a.setAttribute(‘href’,path)//给元素赋值

a.click()//给点击事件

}

在公司下班无聊手敲的,可能会有拼写错误,劳烦各位大佬批评指正了~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值