使用$http get请求下载nodejs服务器发送的文件可以通过以下步骤实现:
下面是一个示例代码:
$http.get('/file/url', { responseType: 'arraybuffer' })
.then(function(response) {
var fileData = new Blob([response.data], { type: 'application/octet-stream' });
var fileURL = URL.createObjectURL(fileData);
var downloadLink = document.createElement('a');
downloadLink.href = fileURL;
downloadLink.download = 'filename.ext';
downloadLink.click();
})
.catch(function(error) {
console.log('Error:', error);
});
在上面的代码中,/file/url
是服务器端文件的URL,可以根据实际情况进行替换。responseType: 'arraybuffer'
指定了响应的数据类型为二进制数组。
在请求成功的回调函数中,首先将服务器返回的二进制数据转换为Blob对象,然后使用URL.createObjectURL方法创建一个临时的URL,将其赋值给一个新创建的a标签的href属性。接着设置a标签的download属性为文件名,最后模拟点击a标签实现文件下载。
需要注意的是,上述代码中的filename.ext
应该替换为实际的文件名和扩展名。
推荐的腾讯云相关产品:腾讯云对象存储(COS),提供了高可靠、低成本、强大的对象存储服务,适用于存储和处理任意类型的文件。您可以通过以下链接了解更多信息:腾讯云对象存储(COS)
请注意,以上答案仅供参考,具体实现方式可能会根据实际情况和需求有所不同。
领取专属 10元无门槛券
手把手带您无忧上云