JQuery-File-Upload by blueimp - дополнительные заголовки
Я просмотрел wiki, но не смог найти ответ, где я должен поместить мои дополнительные заголовки (например, Authorization
заголовок) в JS script? Где-то onSend
/beforeSend
или?
Ссылка на Widget: https://github.com/blueimp/jQuery-File-Upload
Ответы
Ответ 1
Вы пытались установить дополнительные заголовки через объект "options.headers"?
Если используется параметр forceIframeTransport: true (при том, что IE не поддерживает загрузку файлов XHR, вам нужно отказаться от скрытого подхода iframe), тогда изменение заголовков не является вариантом: https://github.com/blueimp/jQuery-File-Upload/issues/654
Параметры, установленные для плагина загрузки файлов, передаются в jQuery.ajax() и позволяют определять любые параметры ajax или обратные вызовы.
Ответ 2
Вот как я добавил имя файла в виде заголовка:
$('#upload_btn').fileupload({
singleFileUploads: true,
beforeSend: function(xhr, data) {
var file = data.files[0];
xhr.setRequestHeader('X-FileName', file.name);
},
});
Ответ 3
Попробуйте что-то вроде этого.
beforeSend: function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
}
Ответ 4
Ответ прост:
просто добавьте свои пользовательские заголовки в раздел добавления
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"},
Ответ 5
Вот моя реализация
onSend: function(e, options) {
var accessToken = ...;
options.headers = {
'Authorization': 'Bearer ' + accessToken
};
},