【问题标题】:nodejs Upload file Using RESTnodejs 使用 REST 上传文件
【发布时间】:2017-07-20 14:23:19
【问题描述】:

我的 REST API 应该将文件发送到另一个 API,但我不知道如何解决它。我从 Endpoint API 得到的唯一东西就是这个 curl 命令:

curl -i -X POST --data-binary @localimg.jpg --header 
"X-API-PersonalKey: XXXX-XXXX-XXXX-XXXX" --header "ContentType:application/octet-stream" 
http://XXX.XX/..../upload

(顺便说一句,我没有使用 curl 或这个函数的 exp,所以我必须即时学习。)

我搜索并找到了一个使用文件系统 Readstream 和请求 POST 的教程。

我的解决方案是这样的(但它不起作用)

      var fs = require('fs');
      var url = "http://XXX.XX/..../upload";
          console.log(url);
      var fdata = fs.createReadStream("c:/xxx/xxx/localimage.jpg");
          console.log(fdata);
      var options = {
                    url: url,
                    headers: {
                        'X-API-PersonalKey': authToken,
                        "Content-Type": "application/octet-stream"
                    },
                    data: fdata,
                    body: fdata

                };
      request.post(options, function optionalCallback(err, httpResponse, body) {
        if (err) {
           return console.error('upload failed:', err);
                 }
         console.log("httpRes =" + httpResponse);
         console.log('Upload successful!  Server responded with:', body);    
                });

【问题讨论】:

标签: node.js curl request http-post


【解决方案1】:

你需要发布 multipart/form-data 是为了使用它的表单功能。

看看这个: https://stackoverflow.com/a/25345124/4645298

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 2016-02-06
    • 2011-10-03
    • 1970-01-01
    • 2022-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多