簡體   English   中英

blueimp 的 jQuery-File-Upload - 附加標頭

[英]jQuery-File-Upload by blueimp - additional headers

我已經通過wiki進行了搜索,但找不到答案我應該將附加標頭(例如Authorization標頭)放在 JS 腳本中的什么位置? 某處onSend / beforeSend或?

插件鏈接: https://github.com/blueimp/jQuery-File-Upload

這就是我將文件名添加為 header 的方式:

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

您是否嘗試通過“options.headers”object 設置其他標頭?

如果使用forceIframeTransport: true選項(IE 不支持 XHR 文件上傳,您需要使用隱藏的 iframe 方法),那么修改標頭不是一個選項: https://github.com/blueimp/jQuery-File-Upload /問題/654

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

為文件上傳插件設置的選項被傳遞給 jQuery.ajax() 並允許定義任何 ajax 設置或回調。

嘗試這樣的事情..

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
  };
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM