下载文件时出现文件命名问题
Problem file naming when dowloading the file
这是我的第一个堆栈 post,如果有点模糊请见谅:/
所以基本上我有一个 Angular 项目,后面有 firestore。我有一个云功能,它生成一个 .xlsx 文件并将其上传到我的 fireStorage。
const path = 'hellothere/excels';
return workBook.xlsx.writeFile(`/tmp/myExcel.xlsx`).then(() => {
return storageFb.upload( `/tmp/myexcel.xlsx`,{
destination: path+'/myExcel.xlsx',
}
)
}).then(() => path);
其中 StorageFb 是我的存储桶。
实际上它正在工作,它上传我的 .xlsx 文件到 /hellothere/excels/ 下,名称为 myExcel.xlsx。但是当我下载它时(通过管理面板或我的 angular 客户端),它的全名是 hellothere_excels_myExcel.xlsx.
这是我的客户端代码:
this.fireStorage.ref('hellothere/excels/myExcel.xlsx').getDownloadURL().subscribe((url) => {
window.open(url, '_blank');
});
return Promise.resolve();
简单。我知道代码很乱,但我正在测试我能找到的所有解决方案,所以我会把它清理干净
Admin panel path
My file name
所以我有点卡住了,因为我不知道为什么这些文件不能只用 'myExcel' 名称下载。
如果有人知道你会节省我的一周啊哈!谢谢!
您需要设置内容配置来定义文件名。试试看
const path = 'hellothere/excels';
return workBook.xlsx.writeFile(`/tmp/myExcel.xlsx`).then(() => {
return storageFb.upload( `/tmp/myexcel.xlsx`,{
destination: path+'/myExcel.xlsx',
contentDisposition: 'filename=myExcel.xlsx'
}
)
}).then(() => path);
这是我的第一个堆栈 post,如果有点模糊请见谅:/
所以基本上我有一个 Angular 项目,后面有 firestore。我有一个云功能,它生成一个 .xlsx 文件并将其上传到我的 fireStorage。
const path = 'hellothere/excels';
return workBook.xlsx.writeFile(`/tmp/myExcel.xlsx`).then(() => {
return storageFb.upload( `/tmp/myexcel.xlsx`,{
destination: path+'/myExcel.xlsx',
}
)
}).then(() => path);
其中 StorageFb 是我的存储桶。
实际上它正在工作,它上传我的 .xlsx 文件到 /hellothere/excels/ 下,名称为 myExcel.xlsx。但是当我下载它时(通过管理面板或我的 angular 客户端),它的全名是 hellothere_excels_myExcel.xlsx.
这是我的客户端代码:
this.fireStorage.ref('hellothere/excels/myExcel.xlsx').getDownloadURL().subscribe((url) => {
window.open(url, '_blank');
});
return Promise.resolve();
简单。我知道代码很乱,但我正在测试我能找到的所有解决方案,所以我会把它清理干净
Admin panel path
My file name
所以我有点卡住了,因为我不知道为什么这些文件不能只用 'myExcel' 名称下载。 如果有人知道你会节省我的一周啊哈!谢谢!
您需要设置内容配置来定义文件名。试试看
const path = 'hellothere/excels';
return workBook.xlsx.writeFile(`/tmp/myExcel.xlsx`).then(() => {
return storageFb.upload( `/tmp/myexcel.xlsx`,{
destination: path+'/myExcel.xlsx',
contentDisposition: 'filename=myExcel.xlsx'
}
)
}).then(() => path);