繁体   English   中英

Javascript Blob anchortag下载产生损坏的文件

[英]Javascript Blob anchortag download produces corrupted file

下面的代码下载了一个无法打开(损坏)的文件,我完全不知道为什么。 我已经在很多方面尝试了这个但它永远不会工作,它总是会产生一个损坏的文件。 原始文件不是问题,因为它打开正常。 我正在尝试打开mp4,mp3和图像文件。

//$scope.fileContents是一个字符串

$scope.fileContents = $scope.fileContents.join(",");
        var blob = new Blob([$scope.fileContents], {type: $scope.file.fileDetails.type});
        var dlURL = window.URL.createObjectURL(blob);
        document.getElementById("downloadFile").href = dlURL;
        document.getElementById("downloadFile").download = $scope.file.fileDetails.name;
        document.getElementById("downloadFile").click();
        window.URL.revokeObjectURL(dlURL);

您需要使用ArrayBuffer将文件内容下载为二进制文件,例如

$http.get(yourFileUrl, { responseType: 'arraybuffer' })
    .then(function (response) {
        var blob = new Blob([response.data], {type: $scope.file.fileDetails.type});
        // etc...
    });


资料来源:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM