首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >axios POST使用blob作为responseType

axios POST使用blob作为responseType
EN

Stack Overflow用户
提问于 2021-07-06 22:42:44
回答 1查看 142关注 0票数 0

所以我尝试通过axios和blob下载一个文件。问题是我需要传递一个密码,因此我不能使用"GET“请求。出于测试目的,我仍然发出了一个" get“请求来启动。由于项目已经结束,我想最终解决这个问题,但我找不到解决方案。

这是我的工作代码,带有一个"GET“请求来给你一个想法。

代码语言:javascript
复制
                    axios({
                        url: `/api/download/?uuid=${uuid}&password=${password}`,
                        method: "GET",
                        responseType: "blob",
                    })
                    .then((response) => {

                        var fileURL = window.URL.createObjectURL(
                            new Blob([response.data])
                        );
                        var fileLink = document.createElement("a");

                        fileLink.href = fileURL;
                        fileLink.setAttribute("download", filename);
                        document.body.appendChild(fileLink);

                        fileLink.click();
                        self.showLottie = false;
                    })
                    
                    .catch(function (error) {

                        self.showLottie = false;

                        alert("Download failed");

                    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 17:31:42

好的,所以基本上我要做的就是把uuid和密码放在一个params对象中。

代码语言:javascript
复制
  axios({
                        url: `/api/download`,
                        method: "GET",
                        responseType: "blob",
                        params: {
                                uuid,
                                password,
                                },
                    })
                    .then((response) => {

                        var fileURL = window.URL.createObjectURL(
                            new Blob([response.data])
                        );
                        var fileLink = document.createElement("a");

                        fileLink.href = fileURL;
                        fileLink.setAttribute("download", filename);
                        document.body.appendChild(fileLink);

                        fileLink.click();
                        self.showLottie = false;
                    })
                    
                    .catch(function () {

                        self.showLottie = false;

                        alert("Download failed");

                    });

说明:Are HTTPS URLs encrypted?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68272646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档