Upload ios image with qt

Hi , i use qt 5.3 on mac. I 've accessed to ios gallery with UIImagePickerController and i've get selected image url like this:
assets-library://asset/asset.jpg?id=..&ext=jpg
Now i want to upload this image on server. I converted the url to QString and called myUploadFunction(QString path). This function gets a path(that is a real path of image on device), creates a QFile, reads data from the file and posts data:
@
QFile *file = new QFile(path);
file->open(OIDevice::ReadOnly);
QByteArray fileData = file->readAll();
...
networkAccessManager->post(...)
@

I know the upload method works on android and windows desktop. But in ios,i think i can not create a file from the image url (assets-library://asset/asset.jpg?id=..&ext=jpg). I need image actual path in ios. how can i get an image real path from it's url on ios to upload it?
Thanks in advance

I found a way to get an image file real path on ios from "here":https://github.com/questbeat/QBImagePickerController/issues/6
path on simulator:
file:///Users/mrsranjkesh/Library/Application Simulator/iPhone Simulator/7.0.3/Applications/9CB32.../Document/Koala.jpg
When i give this path to my upload file, I get this error: QIODevice::read Device not open. When i tested file.exist(), i got "false"
please reply. Thanks

I'm facing the same problem. When I use FileDialog, fileUrl looks like "file:assets-library:/asset/asset.JPG%3Fid=78FD7629-DBEE-4279-ACAE-A54F1FEB9B58&ext=JPG" and I cannot assign this as an image source.

but was hoping that there's a way to construct an URL from QML
seems it isn't

I think Thiago's objection goes more in the direction of security than anything else, as unless you're going to provide a full fledged parser that sanitizes the input (removing the special characters and so on) it's usually a bad idea to construct paths by parts manually. And this way you'd also wouldn't be able to benefit from any (security or other) patches that go into Qt's path handling.
If it were me I'd implement a basic provider on the C++ side, as it seems as the cleaner approach.

Even if we accept, as the basic tenet of true democracy, that one moron is equal to one genius, is it necessary to go a further step and hold that two morons are better than one genius?

It's really surprising that only the ? is encoded in this case. I'd have expected all the special characters to be encoded according to URL rules. It's just odd. In any case for conversion from C++ to QML Path:

path = "file:"+fileInfo.filePath().replace("?","%3F");

I'd research the possibility to use:

path = "file:"+ QUrl::fromLocalFile(fileInfo.filePath()).toString();

or something of that nature. Especially if it's possible the local file is to be named in non-latin letters.

Even if we accept, as the basic tenet of true democracy, that one moron is equal to one genius, is it necessary to go a further step and hold that two morons are better than one genius?

@kshegunov yep - was surprising to me, too that only '?' is encoded. didn't found another way to manage this.
but for this special use-case there's no risk to get in trouble with non-latin letters because the filenames are pseudonames generated by iOS based on a UUID iOS generated