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

标签 node.js http express request autodesk

我正在努力将文件上传到 Autodesk View 和 Data API,但我不知道如何通过 http 发送 curl 或请求 lib。具体来说,我不知道如何设置期望 header 。

这是我尝试发送的 curl

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 开发函数?

非常感谢。

---更新---- 固定:

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);

最佳答案

关于node.js - 使用 Expect --upload-file header -> Node.js 发送 curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30394389/

相关文章:

javascript - 如何使axios调用同步?

node.js - 无法从终端 ubuntu 18.04 LTS 正确安装 Mongodb

http - .htaccess 重定向仅在浏览器警告后执行

node.js - Express.js 中删除 req.body 时为空对象

express - 有没有办法使用 Express 服务器重定向 NuxtJs 应用程序?

javascript - 使用node.js读取对象属性

node.js - 在嵌套集合中将 onCreate 与 Firebase Cloud Functions 结合使用

php - 分发文件使收件人无法阅读

java - SparkJava - 区分大小写的端点

node.js - 在node.js中使用express.logger记录错误