このコードには、メタデータを XML ファイルとしてエクスポートするオプションがあります。それを行うコードは以下のとおりです。
string xml = ToXML(metadatas, files);
context.Response.AddHeader("Content-Type", "application/octet-stream");
context.Response.AddHeader("Content-Disposition", "attachment; filename=video_metadata.xml;");
context.Response.Write(xml);
context.Response.Flush();
context.Response.End();
これは Firefox で問題なく動作します。ボタンをクリックすると、xml ファイルを保存するように求められます。ただし、Chrome では、ファイルの保存プロンプトは表示されません。fiddler を使用すると、応答に xml データがすべて含まれていることがわかります。ステータス コードは 200 です。Web サーバーにエラーは表示されず、クライアント側にもエラーの兆候は示されません。送り返されたデータをファイルに保存するものとして認識しません。
どんな助けでも大歓迎です。同じ Web サーバーで、次のようなヘッダーを持つ csv ファイルを正常にエクスポートできます。
context.Response.AddHeader("Content-Type", "application/vnd.ms-excel");
context.Response.AddHeader("Content-Disposition", "attachment; filename=AssetList.csv;");
編集: と の両方を試しましtext/xml
たapplication/xml
が、残念ながらどちらも問題を解決しませんでした。