我在wiki中搜索过,但找不到答案。我应该把我的其他头信息(例如Authorization
头)放在JS脚本的哪里?是在onSend
/beforeSend
中还是其他地方?
我在wiki中搜索过,但找不到答案。我应该把我的其他头信息(例如Authorization
头)放在JS脚本的哪里?是在onSend
/beforeSend
中还是其他地方?
这是我如何将文件名添加为标题:
$('#upload_btn').fileupload({
singleFileUploads: true,
beforeSend: function(xhr, data) {
var file = data.files[0];
xhr.setRequestHeader('X-FileName', file.name);
},
});
您是否尝试通过“options.headers”对象设置其他标头?
如果使用forceIframeTransport:true选项(IE不支持XHR文件上传,您需要退回到隐藏的iframe方法),则无法修改标头:https://github.com/blueimp/jQuery-File-Upload/issues/654
为文件上传插件设置的选项会传递给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
};
},