gpt4 book ai didi

javascript - 如何使用nest.js正确返回图像文件?

转载 作者:行者123 更新时间:2023-11-28 17:13:36 25 4
gpt4 key购买 nike

我正在尝试返回请求的图像文件。我的客户端正在下载该文件,但无法显示它,因为它是无效的 png 文件。如果我打开存储的文件 tmpFile.png,我可以正确地看到它。所以问题可能在于我如何将其发送回要求的客户。

// This is my controller
async getFile(@Param('bucketname') bucketName: string,
@Param('filename') fileName: string) {
return await this.appService.getFile(bucketName, fileName);


// This is the function called
getFile(bucketName: string, fileName: string) {
return new Promise(resolve => {
this.minioClient.getObject(bucketName, fileName, (e, dataStream) => {
if (e) {
console.log(e);
}

let size = 0;
const binary = fs.createWriteStream('tmpFile.png');

dataStream.on('data', chunk => {
size += chunk.length;
binary.write(chunk);
});
dataStream.on('end', () => {
binary.end();
resolve(binary);
});
});
});
}

最佳答案

这应该有效:

// This is my controller
async getFile(@Param('bucketname') bucketName: string, @Param('filename') fileName: string, @Res() response) {
return (await this.appService.getFile(bucketName, fileName)).pipe(response);
}

关于javascript - 如何使用nest.js正确返回图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53956655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com