使用Expect发送curl --upload-file header - > Node.js的

时间:2015-05-22 10:30:54

标签: node.js http express request autodesk

我正在努力将文件上传到Autodesk View和Data API,我无法弄清楚如何通过http发送curl,或者请求lib。具体而言,我不知道如何设置expect header。

以下是我尝试发送的卷曲

curl --header "Authorization: Bearer nqjy2YlqYVi9VqBLjKinixIkhDRA" --header "Content-Length: 199233" \
-H "Content-Type:application/octet-stream" --header "Expect:" --upload-file "./Torus.obj" 
-X PUT https://developer.api.autodesk.com/oss/v1/buckets/mybucket/objects/Torus.obj -k

每次我得到417 http响应。有人可以帮我在Node.js中开发函数吗?

非常感谢。

--- ---- UPDATE 修正:

var xhr = new XMLHttpRequest();

xhr.open('PUT',
    'https://developer.api.autodesk.com/oss/v1/buckets/' + GLOBAL.AutodeskBucket + '/objects/' + file.name,
    true);

xhr.setRequestHeader(
  'Authorization',
  'Bearer ' + GLOBAL.AutodeskToken.access_token);

xhr.setRequestHeader(
  'Content-Type',
  'application/stream');

xhr.onload = function () {
    var response = JSON.parse(xhr.responseText);
    response.file = file;
    callback(response);
};


var reader = new FileReader();

// `onload` as listener
reader.addEventListener('load', function (ev) {
  xhr.send(ev.target.result);
});

var file = new File(path.dirname(require.main.filename) + '/files/' + file.name);

reader.readAsBinaryString(file);

1 个答案:

答案 0 :(得分:0)