1

我试图用ASP.NET WebAPI后端实现jQuery Bluimp文件上传控件(从这里:https://github.com/blueimp/jQuery-File-Upload),但有一点麻烦。后端最终将支持移动应用程序,所以它已经为CORS通过启用此功能(在WebApiConfigRegister法):jQuery BlueImp文件上传授权

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

整个后端被锁定与被重写SendAsync认证处理方法看request.Headers.Authorization,拉出参数并认证请求,这是我的问题所在。无论我尝试什么(包括从此SO链接:jQuery-File-Upload by blueimp - additional headers),我都无法控制将标题发送到后端,从而阻止我在允许其保存前验证上载请求。我试过的各种方法是:

 $(function() { 
      $('#fileupload').fileupload({ 
      add: function(e, data) { 
       data.headers = { 
       'Authorization': 'Basic ' + $.cookie('auth') 
       }; 
       data.submit(); 
      }, 
      headers: { 
       Authorization: 'Basic ' + $.cookie('auth') 
      }, 
      beforeSend: function(xhr) { 
       xhr.setRequestHeader("Authorization", 'Basic ' + $.cookie('auth')); 
      }, 
      xhrFields: { 
       "Authorization": 'Basic ' + $.cookie('auth') 
      }, 
      requestHeaders: { 
       "Authorization": 'Basic ' + $.cookie('auth') 
      }, 
      singleFileUploads: false, 
      dataType: 'jsonp', 
      url: window.core.get_serverUrl() + 'upload/uploadcasefile', 
      done: function(e, data) { 
       $.each(data.result.files, function(index, file) { 
       $('<p/>').text(file.name).appendTo(document.body); 
       }); 
      } 
      }); 
     }); 

任何想法如何强制这件事发送标题?最终,我只是试图实现拖放文件上传,甚至不需要此控件的大部分功能,但它似乎有一些不错的选择。如果我可以让它发送标题,我想我会被设置。

回答

0

但是,这可能有点老,人们未来可能会遇到这种情况。有一个包含标题的选项。它的处理方式与所有其他选项一样: 即,所需的全部更新选项都是在选项对象的“标题”对象中包含标题。

相关问题