从ArrayBuffer保存服务器上的.xlsx文件可以通过以下步骤实现:
以下是一个示例代码:
// 1. 发送GET请求获取服务器上的.xlsx文件
fetch('http://example.com/path/to/file.xlsx')
.then(response => response.arrayBuffer())
.then(arrayBuffer => {
// 2. 将文件内容存储在ArrayBuffer中
// 3. 将ArrayBuffer转换为Blob对象
const blob = new Blob([arrayBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
// 4. 创建下载链接
const downloadUrl = URL.createObjectURL(blob);
// 5. 创建隐藏的<a>标签并模拟点击触发下载
const link = document.createElement('a');
link.href = downloadUrl;
link.download = 'file.xlsx';
link.style.display = 'none';
document.body.appendChild(link);
link.click();
// 清理临时URL
URL.revokeObjectURL(downloadUrl);
});
这样,服务器上的.xlsx文件就会以文件下载的方式保存到客户端。请注意,示例代码中的文件类型为.xlsx,如果需要保存其他类型的文件,需要相应地修改Blob对象的type属性和文件名。
领取专属 10元无门槛券
手把手带您无忧上云