Почему выдаёт underfind?

Ссылка скопирована
1 ответ

Я пытаюсь загрузить файлы на сервер Nest и у меня выдаёт underfind

app.controller.ts

import { 	BadRequestException, 	Controller, 	Get, 	HttpCode, 	Post, 	UploadedFile, 	UseInterceptors, } from '@nestjs/common' import { FileInterceptor } from '@nestjs/platform-express' import { diskStorage } from 'multer' import { AppService } from './app.service'  @Controller() export class AppController { 	constructor(private readonly appService: AppService) {}  	@Get() 	get() { 		return this.appService.getImages() 	}  	@HttpCode(200) 	@Post('upload') 	@UseInterceptors( 		FileInterceptor('photo', { 			storage: diskStorage({ 				destination: './uploads', 				filename: (req, file, cb) => { 					cb(null, `${file.originalname}`) 				}, 			}), 		}) 	) 	uploadFile(@UploadedFile() file: Express.Multer.File) { 		if (file === undefined) throw new BadRequestException('Не найдено!') 		console.log(file) 	} }

import { BadRequestException, Controller, Get, HttpCode, Post, UploadedFile, UseInterceptors, } from '@nestjs/common' import { FileInterceptor } from '@nestjs/platform-express' import { diskStorage } from 'multer' import { AppService } from './app.service' @Controller() export class AppController { constructor(private readonly appService: AppService) {} @Get() get() { return this.appService.getImages() } @HttpCode(200) @Post('upload') @UseInterceptors( FileInterceptor('photo', { storage: diskStorage({ destination: './uploads', filename: (req, file, cb) => { cb(null, `${file.originalname}`) }, }), }) ) uploadFile(@UploadedFile() file: Express.Multer.File) { if (file === undefined) throw new BadRequestException('Не найдено!') console.log(file) } }

package.json

"dependencies": {     "@nestjs/common": "^10.0.0",     "@nestjs/core": "^10.0.0",     "@nestjs/platform-express": "^10.0.0",     "@nestjs/serve-static": "^4.0.1",     "reflect-metadata": "^0.1.13",     "rxjs": "^7.8.1"   },   "devDependencies": {     "@nestjs/cli": "^10.0.0",     "@nestjs/schematics": "^10.0.0",     "@nestjs/testing": "^10.0.0",     "@types/express": "^4.17.17",     "@types/jest": "^29.5.2",     "@types/multer": "^1.4.11",     "@types/node": "^20.3.1",     "@types/supertest": "^2.0.12",     "@typescript-eslint/eslint-plugin": "^6.0.0",     "@typescript-eslint/parser": "^6.0.0",     "eslint": "^8.42.0",     "eslint-config-prettier": "^9.0.0",     "eslint-plugin-prettier": "^5.0.0",     "jest": "^29.5.0",     "prettier": "^3.0.0",     "source-map-support": "^0.5.21",     "supertest": "^6.3.3",     "ts-jest": "^29.1.0",     "ts-loader": "^9.4.3",     "ts-node": "^10.9.1",     "tsconfig-paths": "^4.2.0",     "typescript": "^5.1.3"   },

"dependencies": { "@nestjs/common": "^10.0.0", "@nestjs/core": "^10.0.0", "@nestjs/platform-express": "^10.0.0", "@nestjs/serve-static": "^4.0.1", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/multer": "^1.4.11", "@types/node": "^20.3.1", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "jest": "^29.5.0", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.1.3" },

Дополнительно:

Я пытаюсь загрузить файлы на сервер Nest и у меня выдаёт underfind

Искренне вам сочувствую, но вы бы хоть указали на каком этапе undefined получаете. Где конкретно проблема?

  • Алексей Ярков, когда я делаю POST зарос с изображением на енд-поинт /uploads, в консоли выдаётся underfind

    Почему выдаёт underfind?

    Почему выдаёт underfind?

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Проблема с появлением значения "undefined" часто возникает в JavaScript из-за некорректного обращения к переменным или объектам. Вот несколько причин, почему это может происходить:

    1. Попытка обращения к свойству объекта, которое не существует:

    let obj = {};
    console.log(obj.property); // здесь будет выведено "undefined", так как свойства "property" нет у объекта "obj"

    let obj = {}; console.log(obj.property); // здесь будет выведено "undefined", так как свойства "property" нет у объекта "obj"

    2. Попытка обращения к элементу массива по несуществующему индексу:

    let arr = [1, 2, 3];
    console.log(arr[5]); // здесь будет выведено "undefined", так как элемента с индексом 5 нет в массиве "arr"

    let arr = [1, 2, 3]; console.log(arr[5]); // здесь будет выведено "undefined", так как элемента с индексом 5 нет в массиве "arr"

    3. Неинициализированная переменная:

    let variable;
    console.log(variable); // здесь будет выведено "undefined", так как переменная "variable" не имеет значения

    let variable; console.log(variable); // здесь будет выведено "undefined", так как переменная "variable" не имеет значения

    4. Ошибка при работе с асинхронными операциями:

    let result;
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => {
        result = data;
      });
    console.log(result); // здесь будет выведено "undefined", так как fetch выполняется асинхронно, а вывод console.log происходит до того, как значение result устанавливается

    let result; fetch('https://api.example.com/data') .then(response => response.json()) .then(data => { result = data; }); console.log(result); // здесь будет выведено "undefined", так как fetch выполняется асинхронно, а вывод console.log происходит до того, как значение result устанавливается

    Чтобы избежать проблемы с "undefined", убедитесь, что корректно обращаетесь к переменным и объектам, проверяйте их существование перед использованием, и учитывайте асинхронные операции при работе с данными.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно