使用节点获取(而不是请求)签名上传到cloudinary)>

问题描述 投票:0回答:1

我能够使用节点request module通过REST API上传到Cloudinary,如下所示:

 request.post({
  url: `https://api.cloudinary.com/v1_1/dennis/image/upload`,
  body: {
   file: `data:image/jpeg;base64,${req.body.toString('base64')}`,
   api_key: key,
   folder: 'dennis',
   timestamp: ts,
   signature: sig
  },
  json: true
 }, async (err, response, body) => {

  if (err) return console.error(err)

  res.send({
   'public_id': body.public_id,
   'secure_url': body.secure_url
  })
 })

我仅使用云上传请求,否则我将在整个应用程序中使用node-fetch。我想将node-fetch用于cloudinary上载,但应用与上述工作示例相同的逻辑会导致错误消息:'使用unsigned ...时必须指定上传预设...'

我的节点获取请求看起来像这样:

 let response = await fetch(
  `https://api.cloudinary.com/v1_1/dennis/image/upload`,
  {
   method: 'post',
   body: {
    file: `data:image/jpeg;base64,${req.body.toString('base64')}`,
    api_key: key,
    folder: 'dennis',
    timestamp: ts,
    signature: sig
  }
 })

 if (response.status === 400) return console.error(response)

 let body = await response.json()

 res.send({
  'public_id': body.public_id,
  'secure_url': body.secure_url
 })

我能够使用Node请求模块通过REST API通过REST API上传到Cloudinary,如下所示:request.post({url:`https:// api.cloudinary.com / v1_1 / dennis / image / upload`,body :{file:`...

node.js post request fetch cloudinary
1个回答
0
投票

您是否考虑过使用我们的Node SDK来实现这一目标?请查看文档以获取更多信息:https://cloudinary.com/documentation/node_integration

© www.soinside.com 2019 - 2024. All rights reserved.