nest.js上傳文件功能踩的坑


 今天在用nest.js上傳文件時踩了一個坑。nest,js代碼如下

import { Controller ,Body,Res,UploadedFile, UseInterceptors} from '@nestjs/common';
import {FileInterceptor} from "@nestjs/platform-express"

  @Post("/upload")
    @UseInterceptors(FileInterceptor("file"))
    upload_interface(@UploadedFile()file,@Body() body,@Res() res){
        // 
        fs.writeFile(path.join(
            resolve(__dirname),"../../../src/public/") + file.originalname,
            file.buffer.toString(),
            (err)=>{
                if(err){
                    res.json({"msg":err.message})
                }else{
                    res.json({"msg":"success","file":file.originalname})
                }
            }
        )
    //   以回車加換行符分割
        var interface_list = file.buffer.toString().split("\r\n")
        interface_list.forEach(element => {
            // 替換\n
            let data = element.trim().replace(/\n/g,"").split(",")
            console.log(data)
            this.interfaceService.add_interface({
                "interface_name":data[0],
                "method":data[1],
                "url":data[2],
                "project_id":Number.parseInt(data[3]),
                
            })
        });
    }

上傳的時候是用的postman調的接口,在上傳的時候,我把Content-Length字段給刪除了,導致該攔截器攔截到的是undefined,看了源碼也沒發現有對該請求頭進行驗證的,有大佬知道什么原因嗎


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM