表达弃用

Express Deprecated

我有一个可以将照片上传到 AWS 的照片应用程序。在我的本地主机上测试上传照片功能时,我的终端抛出以下错误:

express deprecated res.send(status, body): Use res.status(status).send(body) instead aws/aws.js:50:18

我的照片确实保存到 AWS,我只是想知道这个错误是什么以及如何修复它。下面是我的 aws 代码,错误也涉及。

'use strict';

var AWS = require('aws-sdk'),
    crypto = require('crypto'),
    config = require('./aws.json'),
    createS3Policy,
    getExpiryTime;

getExpiryTime = function () {
  var _date = new Date();
  return '' + (_date.getFullYear()) + '-' + (_date.getMonth() + 1) + '-' +
    (_date.getDate() + 1) + 'T' + (_date.getHours() + 3) + ':' + '00:00.000Z';
};

createS3Policy = function(contentType, callback) {
  var date = new Date();
  var s3Policy = {
    'expiration': getExpiryTime(),
    'conditions': [
      ['starts-with', '$key', 'images/'],
      {'bucket': config.bucket},
      {'acl': 'public-read'},
      ['starts-with', '$Content-Type', contentType],
      {'success_action_status' : '201'}
    ]
  };

  // stringify and encode the policy
  var stringPolicy = JSON.stringify(s3Policy);
  var base64Policy = new Buffer(stringPolicy, 'utf-8').toString('base64');

  // sign the base64 encoded policy
  var signature = crypto.createHmac('sha1', config.secretAccessKey)
  .update(new Buffer(base64Policy, 'utf-8')).digest('base64');

  // build the results object
  var s3Credentials = {
    s3Policy: base64Policy,
    s3Signature: signature,
    AWSAccessKeyId: config.accessKeyId
  };

  // send it back
  callback(s3Credentials);
};

exports.getS3Policy = function(req, res) {
  createS3Policy(req.query.mimeType, function (creds, err) {
    if (!err) {
      return res.send(200, creds);
    } else {
      return res.send(500, err);
    }
  });
};

res.send(statusCode, "something")替换为res.status(statusCode).send("something")

这应该适用于您的代码: exports.getS3Policy = function(req, res) { createS3Policy(req.query.mimeType, function (creds, err) { if (!err) { return res.send(creds); //200 is not needed here, express will default to this } else { return res.status(500).send(err); } }); };