首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node JS request-promise for PUT with auth

Node JS request-promise for PUT with auth
EN

Stack Overflow用户
提问于 2016-07-19 17:49:53
回答 1查看 12.5K关注 0票数 8

我想上传一个文件到服务器与请求承诺。

代码语言:javascript
复制
var requestPromise = require('request-promise');
var options = {
      uri: 'myurl.com/putImage/image.jpg',
      method: 'PUT',
      auth: {
        'user': 'myusername',
        'pass': 'mypassword',
        'sendImmediately': false
      },
      multipart: [
      {
        'content-type': 'application/json',
        body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
      },
      { body: 'I am an attachment' },
      { body: fs.createReadStream('test.jpg') }
      ]
    };

constroller函数具有:

代码语言:javascript
复制
requestPromise.put(options)
  .then(function() {
    response = {
      statusCode: 200,
      message: "Success",
    };
    log.info("Success");
    res.status(200).send(response);
  })
  .catch(function (error) {
    response = {
      statusCode: error.status,
      message: error.message
    };
    log.info(response);
    res.status(400).send(response);
  });

我从来没有成功过,也没有抓到一个错误。肯定是哪里出了问题?实际要做的工作是这样的卷曲:

代码语言:javascript
复制
curl --verbose -u myusername:mypassword -X PUT --upload-file test.jpg myurl.com/putImage/image.jpg

解决这一问题的最佳方法是什么?request-promise可以做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-19 18:01:03

在选项更改的情况下将其上传:

代码语言:javascript
复制
var options = {
      uri: 'myurl.com/putImage/image.jpg',
      method: 'PUT',
      auth: {
        'user': 'myusername',
        'pass': 'mypassword'
      },
      multipart: [
      { body: fs.createReadStream('test.jpg') }
      ]
    };

有没有更好的方法?

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38455043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档