Typescript экспресс-загрузка изображений с облачной проблемой - PullRequest
0 голосов
/ 12 января 2019

Загрузка изображений в облачный режим не работает. Я использую typescript node.js Express с модулем маршрутизации контроллеров. Я перехожу с обычного javascript на машинописный текст, в обычной загрузке js-файлов работает отлично, но в машинописном тексте он отказывается работать.

import multer from "multer";
import cloudinary from "cloudinary";
import cloudinaryStorage from "multer-storage-cloudinary";
import config from "config";

cloudinary.config({
  cloud_name: config.get("CLOUD_NAME"),
  api_key: config.get("CLOUDINARY_API_KEY"),
  api_secret: config.get("CLOUDINARY_SECRET")
});

const storage = cloudinaryStorage({
  cloudinary: cloudinary,
  folder: "demo",
  allowedFormats: ["jpg", "png"],
  transformation: [{ width: 500, height: 500, crop: "limit" }]
});

export const parser = multer({ storage: storage });

контроллер загрузки изображений


  import { parser } from "../helpers/gymUploadHelper";

  @Post("/files")
  public async uploadGymImage(@Req() req: Request, @Res() res: Response) {
    const errors: any = {};
    const upload = parser.single("image");

    upload(req, res, err => {
      if (err) {
        errors.image = "Error when uploading file";
        return res.status(501).json(errors);
      } else {
        return res.status(200).json(req.file.secure_url);
      }
    });
  }

Я получаю эту ошибку при вызове конечной точки с изображением:

Error
    at NotFoundError.HttpError [as constructor] (/home/xxx/Files/Projects/Gymr/server/node_modules/routing-controllers/http-error/HttpError.js:27:23)
    at new NotFoundError (/home/xxx/Files/Projects/Gymr/server/node_modules/routing-controllers/http-error/NotFoundError.js:20:28)
    at ExpressDriver.handleSuccess (/home/xxxx/Files/Projects/Gymr/server/node_modules/routing-controllers/driver/express/ExpressDriver.js:289:23)
    at /home/xxx/Files/Projects/Gymr/server/node_modules/routing-controllers/RoutingControllers.js:128:61

но он должен возвращать URL-адрес ответа изображения (например, https://cloudinary.com/img.jpg)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...