微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

由于格式不受支持,从 ascii 响应创建 zip 文件下载无法打开?

如何解决由于格式不受支持,从 ascii 响应创建 zip 文件下载无法打开?

由于格式不受支持,无法打开从 ASCII 响应创建 zip 文件下载。在邮递员中,我可以确认在发出 get 请求并为此完全相同的请求保存文件时,zip 的行为正确。所以,我假设这是我的代码中的错误

响应包括内容类型(应用程序/zip)和内容配置(附件;文件名=exampleFileName.ascii.zip)。这是我的尝试:

    .then(async (response) => {
        const convertReq = ['ascii'];
        const sliceFileName = response.headers['content-disposition'].indexOf('=') + 1;
        const fileName = response.headers['content-disposition'].slice(sliceFileName);
        const contentType = response.headers['content-type'];
        let raw;
        if (convertReq.includes(Object.keys(exportFormats)[0])) {
            const buffer = new ArrayBuffer(response.data.length);
            raw = new Uint8Array(buffer);
        }

        const newBlob = new Blob([raw],{ type: contentType });
        const url = window.URL.createObjectURL(newBlob);
        const link = document.createElement('a');
        link.href = url;
        link.download = fileName;
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);

任何建议都会有所帮助。提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。