http请求、接口参数
[vue3代码]写在生成的[表.vue]文件中,[vue2代码]写在[表.jsx]文件methods方法中;二选一实现
vue3代码
<script setup>
import {getCurrentInstance} from 'vue';
const { proxy } = getCurrentInstance();
let url = 'api/表名/方法名';
//第一个参数:url
//第二个参数:请求的参数
//第三个参数:是否显示发起请求时的提示信息(默认否)
proxy.http.post(url, {}, true).then((reslut) => {});
proxy.http.post(url, {}, '自定义提示信息').then((reslut) => {});
//proxy.http.get(url,{},true).then(reslut=>{})
//第4个参数自定义配置信息(这个方法基本不会用到),具体更多配置见axios官方文档
proxy.http.post(url, {}, '自定义提示信息',
{ timeout: 10000, //设置过期时间10秒
headers: { token: '1231', responeType: 'text/html' } //配置其他请求头信息
})
.then((reslut) => {});
</script>
vue2代码
let url = 'api/表名/方法名';
//第一个参数:url
//第二个参数:请求的参数
//第三个参数:是否显示发起请求时的提示信息(默认否)
this.http.post(url, {}, true).then((reslut) => {});
this.http.post(url, {}, '自定义提示信息').then((reslut) => {});
//get请求:this.http.get(url,{},true).then(reslut=>{})
//第4个参数自定义配置信息(这个方法基本不会用到),具体更多配置见axios官方文档
this.http.post(url, {}, '自定义提示信息',
{ timeout: 10000, //设置过期时间10秒
headers: { token: '1231', responeType: 'text/html' } //配置其他请求头信息
})
.then((reslut) => {});
接口调用与参数传递
excel、pdf文件下载
[vue3代码]写在生成的[表.vue]文件中,[vue2代码]写在[表.jsx]文件methods方法中;二选一实现
vue3代码
<script setup>
import {getCurrentInstance} from 'vue';
const { proxy } = getCurrentInstance();
//1、前端调用下载文件
const url="api/表名/downloadTest";
const params={}
cosnt fileName='123.pdf'; //注意后台返回的什么格式文件,这里也要写成相同格式文件
this.http.download(url, params, fileName, true, ()=>{})
</script>
vue2代码
//1、前端调用下载文件
const url="api/表名/downloadTest";
const params={}
cosnt fileName='123.pdf'; //注意后台返回的什么格式文件,这里也要写成相同格式文件
this.http.download(url, params, fileName, true, ()=>{})
后台接口返回
//2、后台接口返回方式一,直接返回磁盘文件
[HttpPost, Route("downloadTest")]
public IActionResult DownloadTest()
{
var path = "文件磁盘相对路径";// upload/xxx/123.pdf
path = path.MapPath(); //转换为磁盘绝对(实际)路径
path = path.MapPath(true); //如果文件放在了wwwroot下,MapPath参数传入true
return File(
System.IO.File.ReadAllBytes(path),
System.Net.Mime.MediaTypeNames.Application.Octet,
"123.pdf"
);
}
//2-1、后台接口返回方式二,生成excel文件返回
[HttpPost, Route("downloadTest")]
public IActionResult DownloadTest()
{
//以字节形式返回文件给前端下载,如:在后台返回excel文件
byte[] bytes = null;
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 保存Excel文件
bytes= package.GetAsByteArray();
}
return File(bytes, System.Net.Mime.MediaTypeNames.Application.Octet,"123.xlsx" );
}