gpt4 book ai didi

javascript - 您可以将 FileInterceptor 与 TransformPipe 一起使用吗

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:44 25 4
gpt4 key购买 nike

我遇到了 TransformPipe 的问题 - 它可以工作很长时间,因为我不使用 FileInterceptor。由于我需要这两种功能,这让我很困惑。我创建了一个issue在 Github 上,但卡米尔在上面写道,这是正常的框架行为。我和我的 friend 都没有在官方文档中找到任何对这种“正常”行为的引用。你有什么想法吗?

代码是here :

Controller

@UsePipes(SamplePipe)
@UseInterceptors(FileInterceptor('file'))
@Post()
samplePost(@UploadedFile() file) {
return file
}

管道

@Injectable()
export class SamplePipe implements PipeTransform {
transform(value: any, metadata: ArgumentMetadata) {
console.log("I'm working")
return value;
}
}

最佳答案

Pipes仅适用于以下类型:'body' | '查询' | '参数' | 'custom' 对应于 @Body()@Query()@Param()custom decorators就像@User()。在您的示例中,您没有任何这些,这就是不应用管道的原因。

因此,如果您将其中之一添加到示例中,则会应用管道(在本例中为 @Body())。

@UsePipes(SamplePipe)
@UseInterceptors(FileInterceptor('file'))
@Post()
samplePost(@UploadedFile() file, @Body() body) {
^^^^^^^^^^^^^
return file
}

如果您使用@UsePipes(),管道将应用于所有适用的地方。您还可以使用@Body(SimplePipe) body仅将管道应用于主体。

关于javascript - 您可以将 FileInterceptor 与 TransformPipe 一起使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337293/

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