使用Vue.js从Node.js下载zip文件可以通过以下步骤实现:
npm install axios
import axios from 'axios';
methods: {
downloadZipFile() {
axios({
url: 'http://example.com/download-zip', // 替换为实际的下载链接
method: 'GET',
responseType: 'blob' // 设置响应类型为二进制流
})
.then(response => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.zip'); // 设置下载文件的文件名
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.error(error);
});
}
}
downloadZipFile
方法:<template>
<div>
<button @click="downloadZipFile">下载ZIP文件</button>
</div>
</template>
这样,当用户点击按钮时,Vue组件会发送一个GET请求到指定的下载链接,并将响应的二进制数据转换为Blob对象。然后,通过创建一个临时的URL,将Blob对象转换为可下载的文件,并触发下载操作。
请注意,上述代码中的下载链接http://example.com/download-zip
和文件名file.zip
仅为示例,需要替换为实际的下载链接和文件名。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,具体的实现方式可能因项目需求和环境而异。
领取专属 10元无门槛券
手把手带您无忧上云