如何将文件上传到Cloudinary中的某个文件夹?节点JS

时间:2019-07-29 23:56:26

标签: node.js file-upload cloudinary

在cloudinary中,我有一个名为images的文件夹,我想将文件上传到该文件夹​​中。 我已经完成了cloudinary配置的设置。存储选项和文件过滤器已完成。在请求中,我发送了发布请求,该请求会将文件上传到cloudinary,而不是文件夹。如何将文件上传到Cloudinary中的某个文件夹?

const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, './images/');
  },
  filename: (req, file, cb) => {
    cb(null, new Date().toISOString().replace(/:/g, '-') + file.originalname);
  }
});

const fileFilter = (req, file, cb) => {
  if (!file.mimetype.match(/jpe|jpeg|png|gif$i/)) {
    cb(new Error('File is not supported'), false);
    return;
  }

  cb(null, true);
};

const upload = multer({
  storage,
  fileFilter
});

router.post('/',  upload.single('profileImage'), async (req,res) => {
  const result = await cloudinary.v2.uploader.upload(req.file.path);
})

1 个答案:

答案 0 :(得分:3)

执行上传请求时,您可以指定用于该上传的一组选项。在这些选项中,可以指定文件存储位置的“ public_id”(文件名)和/或“文件夹”。

例如,要将文件上传到名为“ test”的文件夹,可以使用以下代码:

cloudinary.v2.uploader.upload(
    "path/to/file",
    {
        folder: "test",
    },
    function(error, result) {
        console.log(error,result);
    }
);

您可以通过文档的此部分找到上载方法的所有可用选项: https://cloudinary.com/documentation/image_upload_api_reference#upload_method