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调用工作正常但成功但图像无法正常显示。那是我面临的问题。
结果是这样的默认图像。
请帮助我实现这一目标。任何帮助热烈接受。 为了达到这个目的,我不得不花很长时间才能实现这个目标。 有没有其他方法可以使用sharepoint在离子3中获取用户图片?