As of April 12th, you must go to Progress SupportLink to create new support cases or to access existing cases. Please, bookmark the SupportLink URL and use the new portal to contact the support team.
The `public: true` should be set in the options (third parameter). To explain what this flag does, it is important to distinguish between the file itself (`fileBlob`), and the entity created in the Kinvey backend.
What this means is that when you login as a different user, `Kinvey.File.download('my-file-id')` will result in an Authorization error. This is because the entity created in Kinvey is not readable to this other user (unless you modify the `_acl` of course).
The direct link to the file (`fileBlob`) is however public. So the approach here would be to upload the file, then obtain the download URL. This download URL will be publicly available:
The `downloadURL` variable in the snippet above is the public file. This URL will be valid forever, and accessible by whoever.
N
Nico Barelmann
said
over 9 years ago
Thus i have to save the downloadurl (public available) at the moment, the user uploaded it's image/file to the Kinvey-Backend?
So that any other user can download it by it's downloadurl and not by the file-id which results in an error?
M
Mark
said
over 9 years ago
That would work, yes, but in addition I recommend setting the global readable flag (`_acl.gr`) to `true` when uploading the file to the Kinvey backend. That way, getting the file by `file-id` will also work for *all* users.
Nico Barelmann
i am trying to upload a public (:: All users of our application) readable images (profil images)
Problem: i've tried several things, but the images are not saved as public files
Code used:
var promise = Kinvey.File.upload(fileBlob, {
// _id : 'my-file-id',
// _filename : 'my-file.txt',
mimeType : 'image/png',
size : fileBlob.length,
public : true
}, {
public : true,
success: function(file) {
_map['avatar'] = {
_type : 'KinveyFile',
_id : file._id
};
// Remove item from User Map
delete _map['profil_image'];
// Update User with ProfilImage
updateUser(_map);
},
error : function(error){
console.log("error uploading File");
}
});
The double of "public:true" was just a test, but nothing of both methods worked ...
Anything i've missed?
Best,
Nico