如何使用sharepoint下载并查看离子3中的个人资料图片?

时间:2018-05-31 07:06:42

标签: android angular sharepoint ionic3 office365api

Iam new in ion with sharepoint 我使用带有sharepoint的ionic3开发了一个移动应用程序。 现在我必须在我的应用程序中获取用户个人资料图片。

我已经尝试过这些可以实现的方法是我尝试过的代码。

第一种方式就是这样尝试

传递网址: -

"https://abc.sharepoint.com/sites/QA/_layouts/15/userphoto.aspx?size=M&accountname=admin@abc.onmicrosoft.com"

第二种尝试就像这样

传递网址: - 这些网址使用人员选择器结果。 PictureURL属性

"https://abc.sharepoint.com/User Photos/Profile Pictures/admin_abc_onmicrosoft_com_MThumb.jpg"

这些第二种方法总是返回 401未经授权

以上网址用于调用此方法。

public downloadFile(url: string, fileName: string) {

   let options = this._apiHeaderForImageURL();
   this._http.get(url, options)
      .subscribe((data) => {      
         //here converting a blob to base 64 For internal view purpose in image src
         var reader = new FileReader();
         reader.readAsDataURL(data.blob());
         reader.onloadend = function () {
         console.log("Base64", reader.result);
      }


      //Here Writing a blob file to storage 
      this.file.writeFile(this.file.externalRootDirectory, fileName, data.blob(), {       replace: true })
         .then((success) => {
            console.log("File Writed Successfully", success);
         }).catch((err) => {
            console.log("Error While Wrinting File", err);
         });
      });
 }


public _apiHeaderForImageURL() {
   let headers = new Headers({ 'Content-Type': 'image/jpeg' });
   headers.append('Authorization', 'Bearer ' + localStorage.getItem("token"));
   let options = new RequestOptions({ headers: headers, responseType: 3 });                                  
   return options;
} 

第一个api调用工作正常但成功但图像无法正常显示。那是我面临的问题。

结果是这样的默认图像。

enter image description here

请帮助我实现这一目标。任何帮助热烈接受。 为了达到这个目的,我不得不花很长时间才能实现这个目标。 有没有其他方法可以使用sharepoint在离子3中获取用户图片?

0 个答案:

没有答案