Вопрос по php, blueimp, jquery, file-upload – jQuery-File-Upload by blueimp - дополнительные заголовки

14

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

Widget link: https://github.com/blueimp/jQuery-File-Upload

Ваш Ответ

5   ответов
8

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

options.headers & quot; объект?

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

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

The options set for the File Upload plugin are passed to jQuery.ajax() and allow to define any ajax settings or callbacks.

Где этот «заголовок»? вариант ты говоришь?github.com/blueimp/jQuery-File-Upload/wiki/Options
@Mark: с этой страницы: & quot; параметры, установленные для плагина загрузки файлов, передаются в jQuery.ajax () & quot ;. Таким образом, в дополнение к перечисленным опциям вы также можете использовать всеapi.jquery.com/jQuery.ajax, Однако, как объясняет приведенный выше ответ, не все из них обязательно будут работать с транспортом iframe.
23

$('#upload_btn').fileupload({
    singleFileUploads: true,
    beforeSend: function(xhr, data) {
        var file = data.files[0];
        xhr.setRequestHeader('X-FileName', file.name);
    },
});
Это отлично сработало для меня, спасибо!
2

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

  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"},
Вот что сработало для меня: заголовки: {Авторизация: «Носитель»; + $ rootScope.app.token}
данные не определены в заголовках: data.headers = {'a-X-Session-Id & apos; : & quot; TEST-HEADER & quot;},
1

onSend: function(e, options) {
  var accessToken = ...;

  options.headers = {
    'Authorization': 'Bearer ' + accessToken
  };
},

Похожие вопросы