状态代码400,上传到框时没有错误对象

时间:2014-12-12 18:17:36

标签: node.js post request box

我尝试使用request.js库使用request.post将文件上传到box.com。

我一直在响应中获得400的返回码和一个空体。不确定如何获得框看到的实际错误。回调的err参数为null,因此来自box.com的响应,但状态代码为400且为空体。

仅供参考,使用curl上传成功,因此身份验证令牌等都可以。 我将下面的函数指向http://echo.200please.com',似乎我发送的HTTP POST请求很好。 如何查看框中看到的错误?

request = require"request");
UploadFile = function(filename, callback) {
    var formData = {
        attributes: JSON.stringify( {
            name: filename, 
            parent: { id: '' + 2764913765 }
        }),
        file: fs.createReadStream('./temp.bin')
    }
    var options = {
        url: 'https://upload.box.com/api/2.0/files.content', 
        headers: { Authorization: 'Bearer ' + tokens.access_token},
        formData: formData
    }

    request.post(options,
                 function(err, response, body) {
        if (err) {
            console.log('Error Uploading the file');
        } else {
            console.log('returned:' + body + JSON.stringify(response.headers))
        }
    });

如果我将URL更改为指向echo.200please.com,则我从echo.200please.com获得的响应如下所示,这似乎是文件上载请求的正确格式。

> POST / HTTP/1.0
Host: echo.200please.com
Connection: close
Content-Length: 1951
Authorization: Bearer bVPDzG8PgIVRNoqb5LOzD61h6NXhJ6h0
content-type: multipart/form-data; boundary=--------------------------799592280904953105406767

----------------------------799592280904953105406767
Content-Disposition: form-data; name="attributes"

{"name":"testchunkname.1","parent":{"id":"2764913765"}}
----------------------------799592280904953105406767
Content-Disposition: form-data; name="file"; filename="temp.bin"
Content-Type: application/octet-stream

<... file data ...>

1 个答案:

答案 0 :(得分:0)

好的......我发现了这个bug :-) 它是网址中的拼写错误 在我的程序中,它设置为api/2.0/files.content,而网址中的正确路径应为api/2.0/files/content