首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成空文件的AngularJS FileSaver

生成空文件的AngularJS FileSaver
EN

Stack Overflow用户
提问于 2015-10-13 10:26:46
回答 1查看 1.6K关注 0票数 1

我有以下PHP代码,它从web服务输出文档:

代码语言:javascript
复制
    $db->where('documentReference', $post->documentID);
    $results = $db->getOne('documents');
    $filelocation = 'doc/';
    $file = $results['filename'];
    header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
    header('Content-Length: ' . filesize($filelocation.$file)); 
    header('Content-disposition: attachment; filename="'.$file.'"');
    readfile($filelocation.$file);

在前端..。

代码语言:javascript
复制
    APIService.registerUser($scope.formData).then(function(data){
    var blob = new Blob([data.data], {type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'});
    var config = {
        data: blob,
        filename: 'test.docx'
    };
      FileSaver.saveAs(config);
    });
}

当我检查从API返回的数据时,文档会很好地返回,但是保存时总是空的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 12:45:59

调用API端点时,需要将responseType设置为数组缓冲区,如下所示:

代码语言:javascript
复制
    var promise = $http.post('http://someurl', formData, {responseType: 'arraybuffer'});
    return promise;

然后正确保存该文件。

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

https://stackoverflow.com/questions/33100281

复制
相关文章

相似问题

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