@rafarco wrote:
Hello,
I’m trying to download files from a server, which has a PHP that retrieves a file when the appropiate parameters are added. First, I considered to use the FileTransfer plugin, but didn’t see the way to add these parameters to download (afterwards, I read that FileTransfer admits headers, but nevertheless I haven’t tried it yet). The thing is that now I’m using the following code:
download(user: string, token: string, oaram1: string) { this.userService.download(user, token, param1) .subscribe( (data) => { // Success this.fileURL = this.downloadFile(data, 'application/zip', 'file.zip'); console.log("URL = " + this.fileURL); }, (error) =>{ console.error(error); } ); } downloadFile(data: any, type: string, filename: string): string { const url = window.URL.createObjectURL(data); const a = document.createElement('a'); a.setAttribute('style', 'display:none;'); document.body.appendChild(a); a.href = url; a.download = filename; a.click(); return url; } } userService.download: download(user: string, token: string, param1: string) { const body = {user: user, token: token, param1: param1}; return this.http.post(this.downloadUrl, body, {responseType: "blob"}); }
This code works in the browser, downloading the file, but I’m unable to get it working on the device, iOS particularly. I’m getting this in the console with the device:
URL = blob:http://localhost:8080/digits-and-characters
Any idea about how to download the file on the device? Or maybe it is downloaded indeed, but I don’t know how to access the app’s dataDirectory. Any help is appreciated.
Posts: 2
Participants: 1