const baseUrl = this.webdavClient.defaults.baseURL.endsWith('/')
? this.webdavClient.defaults.baseURL.slice(0, -1)
: this.webdavClient.defaults.baseURL;
+ const apiToken = this.authService.getApiToken();
+ const splittedApiToken = apiToken ? apiToken.split('/') : [];
+ const userApiToken = `/t=${splittedApiToken[2]}/`;
+ const splittedPrevFileUrl = file.url.split('/');
+ const url = `${baseUrl}/${splittedPrevFileUrl[1]}${userApiToken}${splittedPrevFileUrl[2]}`;
return {
...file,
- url: baseUrl + file.url + '?api_token=' + this.authService.getApiToken()
+ url
};
}
private async uploadFile(collectionUuid: string, file: File, fileId: number, onProgress: UploadProgress = () => { return; }) {
const fileURL = `c=${collectionUuid}/${file.name}`;
- const fileContent = await fileToArrayBuffer(file);
const requestConfig = {
headers: {
'Content-Type': 'text/octet-stream'
onProgress(fileId, e.loaded, e.total, Date.now());
}
};
- return this.webdavClient.put(fileURL, fileContent, requestConfig);
-
+ return this.webdavClient.upload(fileURL, '', [file], requestConfig);
}
update(uuid: string, data: Partial<CollectionResource>) {