私はこのプラグイン(基本バージョンのみ) を使用しており、進行状況の更新にすべての優れた機能を利用して、独自の UI (Knockout.js と Twitter Bootstrap を使用) を操作しています。コンテキストのコード スニペットを次に示します。
// The file is sent to an ASP.NET MVC Web Api service to do all the business logic/DB stuff
uploadUrl = http://web.api.url/?apikey=key
$("#fileUpload" + "@index").fileupload({
headers: {
'Authorization': "@Html.AccessToken()",
'Accept': $.support.ajax ? "application/json" : "text/plain"
},
url: uploadUrl,
add: function (e, data) {
$.each(data.files, function (index, file) {
// add to KO viewmodel
});
data.submit();
},
fail: function (e, data) {
var error = data.errorThrown;
var text = data.textStatus;
},
done: function (e, data) {
// do some more viewmodel operations
},
progress: function (e, data) {
var progressPercentage = parseInt(data.loaded / data.total * 100, 10);
// update viewmodel
}
});
要素は#fileUpload<Index>
ファイル入力です
これは、Chrome、FF、Safari ではうまく機能しますが、(驚くべきことに) IE では機能しません。ファイル入力からファイルを選択しようとすると、非常に奇妙な応答が返されます - ブラウザーがダウンロード ダイアログを開きますか?!
Do you want to open or save ?apikey=key (61 bytes) from webapiserver?
fileupload イベント リスナー内にブレークポイントを設定して IE のスクリプト デバッガーを使用しようとしましたが、内部にさえ入れられませんでした。私の研究では、accept-type の application/json が IE を台無しにすることを示すさまざまな投稿や記事を見てきました。
足りないものはありますか?