Nach mehreren Versuchen, während ich Ihr spezifisches Problem nicht reproduzieren konnte, war das Problem, das ich hatte, mit dem binären Anhang ordnungsgemäß geladen. Da createReadStream()
asynchron ausgeführt wird, scheint es nicht so zu funktionieren, wie die Anforderungsdokumente sagen, wenn es zu den Schlüsseln multipart
oder formData
hinzugefügt wird. Nicht sicher, warum das ist?
Ich habe es funktioniert zuerst mit http://requestb.in - Vergleich der Curl-Anfrage mit der gleichen Anfrage mit Node konstruiert. Hier ist die letzte, Arbeitsversion:
var request = require('request')
fs = require('fs')
var options = {
uri: 'https://developer.api.autodesk.com/oss/v2/buckets/<yourBucket>/objects/<yourFile.ext>',
headers: {
'Content-Type': 'application/octet-stream',
'Authorization': 'Bearer <token>'
}
}
fs.createReadStream(__dirname + '/<fileName.ext>').pipe(request.put(options, function(err, response, body) {
console.log(body)
/*
{
"bucketKey" : "< yourBucket>",
"objectId" : "urn:adsk.objects:os.object:brandontestbucket2/skyscpr1.3ds",
"objectKey" : "<fileName.ext>",
"sha1" : "...redacted...",
"size" : 43791,
"contentType" : "application/octet-stream",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/< yourBucket>/objects/<fileName.ext>"
}
*/
}))
Versuchen Sie so etwas wie die folgenden für Ihre Wahlen: '{ uri: ..., Header: { 'Authorization': authorizationHeader, ‚Content-Type ': contentTypeHeader }, Körper: ... } ' –
Sie stehen vor einem bestimmten Fehler? –
@Mukesh Sharma Der Fehler ist 'Token ist nicht in der Anfrage enthalten. Danke –