「 360セキュアブラウザ」というデスクトップブラウザがあります。中国ではかなりのシェアを持っており、サポートが求められています。
レイアウトエンジンは Trident (IE)であると書かれていますが、これは私が期待していたものですが、今は確認できません (Mac で!)。
この理由は、ダウンロードを開始し、バイトをクライアントにストリーミングするフォームがいくつかあり、それらが他の主要なブラウザーで動作するためです。問題の原因となるコードは以下のとおりです。これは私が気付かない何か間違ったことをしていますか?バイト ストリームは通常 50 ~ 100 KB のオーダーであり、まだ問題は発生していません。
- このコードは、PostBack イベント (グリッド内のボタン クリックなど) に応答して呼び出されます。
- この関数は、ファイルからのバイトストリーム、メモリ内での生成、または db からの読み取りで呼び出されます。
関数:
public static bool DownloadStream(byte[] packageStream, string fileName) {
var response = HttpContext.Current.Response;
response.Clear();
response.AddHeader("Accept-Ranges", "bytes");
response.AddHeader("Content-Disposition", "inline; filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
response.AddHeader("Content-Length", packageStream.Length.ToString());
response.ContentType = "application/xlsx";
response.BinaryWrite(packageStream);
response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
return true;
}
このブラウザをサポートした経験のある人はいますか? Googleで英語で検索しても情報が見つかりません。仕様もドキュメントも何もありません。情報を探すためにバイドゥに行かなければならないのですが、そのレベルの中国語は読めません!
編集:
問題は、360 が使用するダウンローダーにあるようです。ただし、ストリーミング コードで変更する必要があるものがあるかどうかを知りたいです。不足しているヘッダー、またはその他のもの。
- これは小さなファイルでのみ発生します。同じページ、より大きなダウンロード = 問題なし。
- 組み込みの IE ダウンローダーに変更すると、問題が解消されます。