2016-05-04 29 views
0

私はthisに従っており、どのタイプのファイルもOneDriveにアップロードしたいと思います。それは、ファイルの内容のバッファを受け入れるが、私の次のコードは、ファイルの種類の場合に動作していないようだ。ファイルはアップロードされますが、開くことはできませんので、内容が間違っています。MS Graph APIを使用してファイルをアップロードするにはどうすればよいですか?

私はリクエストでそれらを送信できるように本文の内容を取得しようとしています。

private fileToBuffer(file: File): Observable<any> { 
    return Observable.create(observer => { 
     var arrayBuffer; 
     var fileReader = new FileReader(); 
     fileReader.onload = function() { 
      arrayBuffer = this.result; 
      observer.next(arrayBuffer); 
      observer.complete(); 
     }; 
     fileReader.readAsArrayBuffer(file); 
    }); 
} 
+1

こんにちは、イブラヒム、フィドラーのようなツールを使用してアップロードのネットワークキャプチャを取得し、アップロードされたコンテンツが期待どおりに一致するかどうかを確認してください。何らかの方法でエンコードされたファイルをアップロードしているようで、アップロードコンポーネントが予期している方法でサーバーをデコードせずに、そのファイルを保存している可能性があります。 – daspek

+0

@daspek OneDriveのアップロードAPIの使い方のサンプルが本当に役に立ちます。私はサンプルをオンラインで見つけることができず、文書では不十分です。 – lbrahim

答えて

2

私はAngular 2のhttpのPUTがボディを文字列として受け取っていることに気付きませんでした。だから、私はXHRを使ってその内容のファイルをアップロードしました。

関連する問題