【问题标题】:Status-415 Invalid content-type specified error in nodejsStatus-415 在 nodejs 中指定的内容类型无效错误
【发布时间】:2019-10-25 10:40:48
【问题描述】:

我想知道如何将带有标题的表单数据发送到请求模块。

我有 getToken 函数,它使用 headers 和 formdata 发出 post 请求,然后响应数据将再次向新 url 发出请求并返回数据。

当前返回 { type: 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html', title: 'Unsupported Media Type', status: 415, detail: 'Invalid content-type specified' }

抱歉,无法提供 apiurl 和密钥


//app.js
var express = require('express');
var router = express.Router();
var helper= require('../help.js');
router.get('/', function (req, res) {
    helper.getToken(req.originalUrl).then(token=>{                        
      helper.getData(token).then(data=>{
         res.send({api:data})
      })
   })
})
//helper.js
module.exports.getToken= function (rquery) {
  return new Promise(async function (resolve, reject) {
    try {
      const form_data = {
        grant_type: 'auth_token',
        auth_token: ''//apikey,
         }
      var headers = {
       "Content-Type": "multipart/form-data",
      };
      url = ``//apiurl1;
      request.post({ url: url, form: form_data, headers: headers },  (e, r, body)  => {
        if (!e) {
         resolve(JSON.parse(body)); 
        }
        else {
          resolve(e);
        }
      });
    }
    catch (err) {
      reject(err);
    }
  })
}
module.exports.getData= function (token) {
  return new Promise(async function (resolve, reject) {
    try {
        const form_data = {
        grant_type: 'refresh_token',
        refresh_token: token.refresh_token,
      }
      var headers = {
        "Content-Type": "multipart/form-data",
        "Authorization":"Bearer "+token.access_token
      };
      url = ``//apiurl2;
      request.post({ url: url, form: form_data, headers: headers },  (e, r, body)  => {
        if (!e) {
         console.log(JSON.parse(body));// returns errors 415
         resolve(JSON.parse(body));
        }
        else {
          resolve(e);
        }
      });
    }
    catch (err) {
      reject(err);
    }
  })
}

【问题讨论】:

    标签: javascript node.js json express request


    【解决方案1】:

    您发布的 API 似乎不支持 multipart/form-data。你能确认 API 上的 Content-Type 吗?

    编辑:在请求模块的 npmjs 页面中找到这个:https://www.npmjs.com/package/request#multipartform-data-multipart-form-uploads

    您发送的密钥是“表单”。尝试发送“formData”

    【讨论】:

    • 感谢回复,但他们提到Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxxxx尝试过,但同样的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多