jQuery-File-Upload by blueimp – дополнительные заголовки

Я искал через wiki, но не смог найти ответ, где я должен поместить мои дополнительные заголовки (например, заголовок Authorization ) в сценарии JS? Где-то по onSend / beforeSend или?

Ссылка виджета: https://github.com/blueimp/jQuery-File-Upload

Вы пытались установить дополнительные заголовки через объект options.headers?

Если вы используете параметр forceIframeTransport: true (с IE, не поддерживающим загрузку файлов XHR, вам нужно отказаться от скрытого подхода iframe), тогда изменение заголовков не является вариантом: https://github.com/blueimp/jQuery-File-Upload / вопросы / 654

Options.headers: http://api.jquery.com/jQuery.ajax/

Параметры, установленные для плагина загрузки файлов, передаются в jQuery.ajax () и позволяют определять любые параметры ajax или обратные вызовы.

Вот как я добавил имя файла в виде заголовка:

 $('#upload_btn').fileupload({ singleFileUploads: true, beforeSend: function(xhr, data) { var file = data.files[0]; xhr.setRequestHeader('X-FileName', file.name); }, }); 

Попробуй что-нибудь вроде этого ..

 beforeSend: function(xhr) { xhr.setRequestHeader("Accept", "application/json"); xhr.setRequestHeader("Content-type", "application/json; charset=utf-8"); } 

Ответ прост: просто добавьте свои собственные заголовки в раздел добавления

  add: function (e, data) { data.headers={'X-Session-Id' : data.files[0].name.hashCode()}; data.context = $('<button/>').text('Upload') .appendTo(document.body) .click(function () { data.context = $('<p/>').text('Uploading...').replaceAll($(this)); // naam = naam.hashCode(); data.submit(); }); }, 

или в инициализации:

 $('#fileupload').fileupload({ dataType: 'json', multipart : false, maxChunkSize: 10 * 1024 * 1024, headers:data.headers={'X-Session-Id' : "TEST-HEADER"}, 

Вот моя реализация

 onSend: function(e, options) { var accessToken = ...; options.headers = { 'Authorization': 'Bearer ' + accessToken }; },