ホームページ  >  記事  >  ウェブフロントエンド  >  JSダウンロードファイルストリームの簡単操作(コード添付)

JSダウンロードファイルストリームの簡単操作(コード添付)

亚连
亚连オリジナル
2018-05-18 10:59:577582ブラウズ

以下は、JS ダウンロードファイルの簡単な操作をまとめたものです。興味のある学生はご覧ください。

ダウンロードされたコードは次のとおりです:

var xhr = new XMLHttpRequest();
var formData = new FormData();
formData.append('snNumber', $("#snNumber").val());
formData.append('spec', $("#spec").val());
formData.append('startCreateDate', $("#startCreateDate").val());
formData.append('endCreateDate', $("#endCreateDate").val());
formData.append('startActiveDate', $("#startActiveDate").val());
formData.append('endActiveDate', $("#endActiveDate").val());
formData.append('supplier', $("#supplier").val());
formData.append('state', $("#cboDeviceStatus").val());
xhr.open('POST', vpms.ajaxUrl + vpms.manageUserUrl + "exportExcelDevices", true);
xhr.setRequestHeader("accessToken", userInfo.accessToken);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status == 200) {
var blob = this.response;
var filename = "设备导出{0}.xlsx".format(vpms.core.date.format("yyyyMMddhhmmss"));
var a = document.createElement('a');
blob.type = "application/excel";
var url = createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}
};
xhr.send(formData);
});

Chrome を使用してダウンロードすると正常に実行されますが、IE Explorer 11 バージョンの Excel エクスポート ボタンが応答しないか、「この BLOB を開くには新しいアプリケーションが必要です」というポップアップが表示されます。

BLOB 処理の改善: 以下の通りです

if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename);
} else {

var a = document.createElement('a');
blob.type = "application/excel";
var url = createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}

現時点では、IE でのエクスポートは正常です:

JSダウンロードファイルストリームの簡単操作(コード添付)

上記は、私が皆さんのためにコンパイルした JS ダウンロード ファイル フローの簡単な操作です。将来。

関連記事:

検証コードを生成してjsで検証する(コード付き、簡単で粗雑、教育訓練含む)

JSでJSONデータを取得するための簡単な呼び出しについて(コード付き、単純で粗い) )

POST メソッドを使用して JS を使用してリクエストを送信する方法 (コード付きの詳細な回答)

以上がJSダウンロードファイルストリームの簡単操作(コード添付)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。