2017-01-31 9 views
0

私のサーバー(TFS)で私はファイルにアクセスでき、GETリクエストでコンテンツを取得することができます。 問題はのContent-Typeapplication/octet-streamです。JavaScript - iFrameにファイルのコンテンツを表示することはできますか?

そして私は、私がこのファイルを保存するダウンロードウィンドウのポップアップを取得iframe内

を、このファイルをロードしようとしているiframe内に、この場合のファイルの内容を配置する方法はあります?またはこのファイルの内容をJavascriptで取得する他の方法(XMLHttpRequestにはapplication/octet-streamに関するいくつかの問題があります)?

+0

Content-Typeヘッダーを変更します。それ以上の詳細は提供されていません – charlietfl

+0

私は「json」と言うように変更すると、ファイルの詳細が作成されます。そのテキストが応答のコンテンツタイプがオクテットストリームの場合 –

答えて

0

TFSでget要求の応答のコンテンツタイプを変更できません。デフォルトではapplication/octet-streamです。

+0

どうすればよいかわかりません添付ファイルの内容を取得する。ビルドタスクから添付ファイルを読み込もうとしている。リンクがありますが、コンテンツを取得しようとすると401.2エラーが発生します。助言がありますか? –

+0

概要ページを作成するためにビルドタスクからコンテンツを読みたいのですか?ここでは、参照用にビルドされた特定のタスクからアップロードされたカスタムデータの結果をレンダリングするためのサンプルコードを示します。[Build Results Enhancer](https://github.com/Microsoft/vsts-extension-samples#build-results-エンハンサー) –

+0

私はこの例を使用しましたが、重要な部分がありません。リンクからデータを読む方法。このファイルの32行目を見ることができる場合は、https://github.com/Microsoft/vsts-extension-samples/blob/master/build-results-enhancer/src/enhancer/tab.ts URLを取得しました。アップロードしたが読み込めない添付ファイルの $ Getまたはajaxを使用すると401.2エラーが発生する –

0

これは、アクセスするファイルの種類によって異なります。 "application/octet-stream"レスポンスを取得すると、バイナリファイルにアクセスする可能性があります。そうしないと、ファイル拡張子が認識されません。この状態では、ファイルをダウンロードするには、エージェントを提案します、それ以下の応答を取得します:

content-type: application/octet-stream; 
content-disposition: attachment 

は詳細についてはHTTP Standardを参照してください:

このヘッダは、アプリケーションに応じて使用されている場合/オクテット ストリームのcontent-typeの場合、ユーザエージェント は応答を表示すべきではなく、そのまま「 として保存...」ダイアログを入力する必要があります。

いくつかの一般的なファイルタイプにアクセスすると、異なる応答が得られます。たとえば、

a.txt -> content-type →text/plain; 
a.ps -> content-type →application/json; 
1.png -> content-type →image/png;