This is going to seem like a really strange question, but hear me out....
Suppose you're writing a web app for something people will typically run on their mobile devices (phones and tablets). Your app is going to have some audio files on it for them to listen to. You can provide a variety of things for them, but you KNOW that people are eventually going to ask, "I've got this one song I really like that I'd love to use for this; how can I upload it?"
On a desktop or laptop running Windows, MacOS, or Linux, the answer is simple.
But I'm having a hard time answering that question when it comes to mobile devices -- not for the reason that's obvious to most programmers, but because of two conflicting issues: (1) it's a web app, and on a mobile device, it cannot access the local file system; and (2) even if it could, most users have no idea where their media files are located there, even if they ARE there. The thing is, many people use streaming services like Pandora or Spotify, and have no idea where the music files they listen to actually live -- that's why they're called streaming services.
Personally, I have a microSD card that I loaded up with a ton of music files and put in my phone (most Android phones let you do that, Apple products don't). I copied the files to a small thumb drive and plugged that into the USB port in my car so I can listen to them there. This saves me from having to subscribe to Satellite radio or some streaming service, or pay for iCloud / iTunes hosting. But I do have access to the files. I don't know how that works for people with iPhones. (I have an iPad, but I don't listen to music on it.)
So if I had a song on my (Android) phone (in the SD card) that I wanted to upload to your web app, I know where it lives, but I don't know how I'd get it to your app. If I had an iPhone, I don't even know where it lives.
The obvious questions are: do they have the ability to download the music file from somewhere else that they want to hear in your app? (Ie, is it accessible via a web browser?) If so, where can it be saved to? And then, how do they upload it (considering that they can't access the local device's storage)?
It's basically a file-sharing problem at this point. "I have this spreadsheet I'd like you to look at, can I send it to you?" Ok ... how?
In my mind, the easiest solution would be to put the file on Dropbox or Google Drive and get a DL URL for it, then paste that URL into a field in your app and press the [OK] button. It's a workable soluition ... IF it's not blocked by a CORS policy. (My remote service can try to DL the file, but my experience lately is that it will very likely be denied access to it.)
I'm hoping some folks here have faced this problem in some way or another and have either come up with a solution or have seen something that has worked. Because I'm rather stumped at this point.
Think of it this way: You're creating this web app, and you have a few friends who are total technophobes but they like your app, and they want to know how to upload a favorite song so they can hear it in your app on their iPhone or Android phone.
How do you solve that problem in a way that's simple enough for them to deal with, other than taking it to the Geek Squad at Best Buy? (Or calling you.)
I'm looking for some ideas here...
IDEA: It's a web app, so it can be run on a desktop or laptop. Does that offer a solution? (As opposed to having to do it from their mobile device.)