簡體   English   中英

如何將ng2-file-upload與devise令牌auth一起使用?

[英]How do I use ng2-file-upload with devise token auth?

我目前正在嘗試使用ng2-file-upload和devise令牌auth .: https://devise-token-auth.gitbook.io/devise-token-auth/conceptual 文件上傳器當前直接處理http請求,因此,我沒有使用angular token rest api服務類來上傳對象: https : //angular-token.gitbook.io/docs/session-management 相反,我不得不手動設置與auth令牌一致的標題。

URL = '/api/my_api'
public uploader: FileUploader = new FileUploader({ url: URL});
update_upload_parameters(){
  var uo: FileUploaderOptions = {};
  uo.headers = 
  [
   {name: 'access-token', value : localStorage.getItem("accessToken")}, 
   {name: 'client', value : localStorage.getItem("client")},
   {name: 'expiry', value : localStorage.getItem("expiry")},
   {name: 'token-type', value : localStorage.getItem("tokenType")},
   {name: 'uid', value : localStorage.getItem("uid")}
  ];
  this.uploader.setOptions(uo);

}

HTML文件

<input id="file2" type="file" ng2FileSelect [uploader]="uploader" />

上傳本身成功完成,但是上傳后,我發現會話中的訪問令牌不再起作用。 我認為這是因為我使用了devise令牌auth,它會根據請求更新令牌,而不是將其設置到本地存儲中。 如何從響應標頭中手動檢索令牌並將其設置到瀏覽器的本地存儲中? (否則在正常請求中由角度令牌處理)

圖,工作原理:

this.uploader.onCompleteItem = (item:any, response:any, status:any, headers:any)=> {
        localStorage.setItem('accessToken', headers['access-token']);
        localStorage.setItem("expiry", headers['expiry']);
    };
}

暫無
暫無

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

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