-
-
Notifications
You must be signed in to change notification settings - Fork 30.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用axios配置responseType为arraybuffer或blob时无效 #1466
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
需要访问后端获取文件流,例如excel或视频等
使用axios设置responseType为arraybuffer
返回的文件结果并不是arraybuffer结构
使用源生axios(未拦截request/response)也不行..
使用$http也不行...
但是同一个后台
不使用vue-element-admin,而使用源生的vue框架则没问题
排除后台/axios问题,猜测是vue-element-admin某个地方导致responseType未生效?
请求代码
export function fetchFile(data, requestType = 'arraybuffer') {
return request({
url: '/download/excel',
method: 'post',
responseType: requestType,
data: { param: data}
})
}
服务端
$app->get('/download/excel', function($param) use ($app) {
$file = '../download/test.xls';
$filename= 'test.xls';
header('Access-Control-Allow-Origin:*');
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel;charset=utf-8');
header("Content-Disposition: attachment; filename=". iconv('utf-8', 'gbk//ignore', $filename));
header("Content-Transfer-Encoding: binary");
header("Expires: 0");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
});
返回结果
data: "��\u0011ࡱ\u001a�\u0000\u0000\u0000\u0010\u0000\u0000����\u0000\u0000...u0000\u0000����\u0000\u0000\u0000\u0000/\u0000\u0000\u0000������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\t\u0008\u0010\u0000\u0000\u0006\u0005\u0000T8�\u0007��\u0001\u0000\u0006\u0007\u0000\u0000�\u0000\u0002\u0000�\u0004�\u0000\u0002\u0000\u0000\u0000�\u0000\u0000\u0000\\u0000p\u0000\u0002\u0000\u0001hgYm B\u0000\u0000\u0000\u0000\u0000�\u0000\u0002\u0001�[SO1\u0000\u0014\u0000,\u0001\u0001\u00006\u0000�\u0002\u0000\u0000\u0000\u0000�\u0000…"
The text was updated successfully, but these errors were encountered: