2014-12-12 3 views
0

request.js 라이브러리를 사용하여 request.post를 사용하여 box.com에 파일을 업로드하려고합니다.상자에 업로드 할 때 오류 개체가없는 상태 코드 400

나는 응답에서 400의 리턴 코드와 널 (NULL) 본문을 일관되게 얻습니다. 상자가보고있는 실제 오류를 얻는 방법을 모릅니다. 콜백에 대한 err 인수는 null이므로 box.com의 응답이 있지만 상태 코드 400 및 null 본문이 있습니다.

참고로 업로드를 성공하면 curl을 사용하므로 인증 토큰 등이 정상입니다. 나는 아래의 함수를 http://echo.200please.com '이라고 지적했다. 그리고 그것은 내가 보내고있는 HTTP POST 요청이 잘된 것처럼 보인다. 상자에 어떤 오류가 표시되는지 보려면 어떻게해야합니까? 내가 echo.200please.com 가리 키도록 URL을 변경하는 경우

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

, 나는 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 ...> 
+0

그것은 지나요 파일을 스트리밍하는 대신 버퍼링하면 어떤 차이가 있습니까? – generalhenry

+0

그걸 시도해 .. 아무런 차이가 없다. 커맨드 라인에서 똑같은 컬 요청을 보내면 성공합니다. curl 명령에 잘못된 인증 토큰을 넣으면 자동으로 실패하므로 javascript 요청 명령이 인증에 실패했다는 사실을 알게되었습니다. 그러나, 나는 그것이 실패 할 이유를 알아낼 수 없다. 나의 get 요청은 모두 같은 인증 토큰과 동일한 자바 스크립트 요청 코드로 성공했다. – user1936097

답변

0

OK ... 내가 뭔가를 URL에 올바른 경로가 있어야한다 반면이 api/2.0/files.content로 설정되었다 내 프로그램의 URL 의 오타 :-) 버그를 발견 api/2.0/files/content

관련 문제