Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

431
Views
Ionic Capacitor - Screenshot to Gallery (iOS)

Haven't been able to find any solution to this.

I'm using Ionic Framework 5+ and using Capacitor 3+.

I need to be able to have the user take a screenshot on iOS and Android and have that screenshot automatically saved to the users photo gallery. Android works just fine with the following code. iOS also works, however it saves the file in a temporary directory so I need to move the file to whatever directory it needs to go to on iOS so the user can see it in their photo gallery.

import { Screenshot } from '@ionic-native/screenshot/ngx';

this.screenshot.save('jpg', 80).then((res) => {
  this.filePath = res.filePath;
  console.log(this.filePath);
});

Is there a way to use the FileSystem Capacitor API to save this photo at this this.filePath to the iOS gallery?

Is there another way to go from screenshot to gallery on iOS?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

On iOS the gallery is something external from your app and can't be accessed through the Filesystem plugin because there is no path to it (and even if there was, iOS apps are sandboxed, you can't access other apps, only your app contents)

You can save a native UIImage to the gallery with this native code:

UIImageWriteToSavedPhotosAlbum(yourImage, nil, nil, nil) but you have a native path, not an UIImage, so you'll have to convert the path to UIImage first, with something like let yourImage = UIImage.init(contentsOfFile: imagePath). So, with that code you can create a plugin that send the path and saves the image to the gallery.

You can also search for plugins that already do that. There is this one that saves a base64 string that represents an image into the gallery https://ionicframework.com/docs/native/base64-to-gallery

There is also capacitor-community/media that has a savePhoto function, which takes a path and saves the photo to the gallery

https://github.com/capacitor-community/media#api

over 4 years ago · Santiago Trujillo Report

0

This works for iOS. I'm using it in production at the moment. The fundamental problem had to do with the fact that the Capacitor Community Media library wasn't documented very well to specify exact formatting needed to make it work. This is the working package.json version of the library: "@capacitor-community/media": "github:dragermrb/media".

this.screenshot.save().then(async (res) => {

  const savePhotoResult = await Media.savePhoto({
    path: `file://${res.filePath}`,
    album: this.album.identifier
  });
});
over 4 years ago · Santiago Trujillo Report

0

How do you do the installation of @ionic-native/screenshot/ngx and the plugin itself, if you use capacitor, I'm a bit lost with that

about 4 years ago · Daniel Acosta Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!