How to set the owner of files to firebase-storage - firebase

im trying to develop a file system with firebase storage but i dont know how to set owner of a file.
I looked in metadata attributes but I haven't found anything like that

Related

Firebase: Batch upload nested folders and files to Google Cloud Bucket

I want to upload nested folders and files to a Google Cloud Bucket.
So far I used this command line to do so:
gsutil -m cp -R [dir] gs://[bucket]
it works, but when I go to Firebase console, I cannot generate an access token for the uploaded files.
If I upload the same file manually the access token is generated automatically.
I wonder if there's a way to make gsutil to upload in a manner that files will have access token.
Appreciate your hints and conversations
Download URLs are normally only generated by the Firebase SDK for Cloud Storage.
Luckily though somebody figured out that if you set the right metadata for a file, that gives it a download URL too. Since metadata can be set through gsutil, that means it should be possible to also generate download URLs like that.
See:
Get Download URL from file uploaded with Cloud Functions for Firebase, for the metadata to set
The gsutil documentation on setting metadata

Can't access uploaded files through Firebase storage on web

I'm trying to access/download files that have been uploaded to Firebase storage but I can't figure out how to. Some of the files have a create new access token button under the storage location which gives me a link to the file on the web. Unfortunately, this is only a few files and seems to only be ones uploaded from localhost?
I can't find any reference to this on the documentation, this should be achievable through the Firebase dashboard?
I've tried setting the access rules to allow reads in all cases which hasn't helped.
Thanks
In general, you're supposed to use getDownloadURL(), as shown in the documentation, from within your web or mobile app to generate a download URL for use within your app. Typically, the console is only used to revoke the tokens that enable to download of each file through that URL.
If that's not specifically what you're trying to do, perhaps you want to read up on other was to make data public in Cloud Storage. The Firebase console is not really the best mechanism to manage downloadable content.

Delete Firestore database from project

I have a firebase project and I added a Firestore database but I forgot to choose the right location. Since the location can not be modified after creating the database and the database is empty I would like to just delete it and create a new one with the correct location. Is this possible or do I need to create the whole project again?
Would appreciate help a lot.
Once a region is set for a project, it can't be changed. In the documentation it says:
Warning: Setting the location for one of the following services [Firestore, Storage, App Engine] also sets the location for the others. After you set your project's default GCP resource location, you cannot change it.
So, you will have to create a whole new project.

How to make files available as a download link in asp.net?

In my asp.net website, users can upload multiple files, which reside in 'upload' folder on server's hard drive. I am saving the files by renaming them with username + original file name
Example : if I upload file 'user.text' and my code is 1000, then the file will be saved in upload folder with name '1000_user.Text'. This is for identification of file against a particular user.
Now, when admin logs in application and selects a user, he should be able to see all files uploaded by him/her. Files should be in downloadable format to him.
How can I achieve the same? I have totally no idea, how to go for it ?
This is not how you ask a question on SO. Anyway already a piece of advice :
Store your files OUTSIDE of the webroot, and use a script in your website to get the files and render it to the user. This is for security reason : if someone manages to upload a malicious file, you don't want him to be able to execute it from the web.
Store file info and upload info in a database : who uploaded what and when ? Relying on file name isn't a good idea. You could also store the file in the database eventually (as a BLOB), but I prefer the good old filesystem
I can suggest you couple of ways based on feasibility. Approach 1 - If you can make database changes, when user is uploading a file you should save dynamically generated filename against the user in database. This way when admin logs in and wants to see all the files uploaded by user, you just need to make a database query and show them in a grid. When user clicks on the file name, you can fetch the file from harddisk and allow it to download to admin.
If database change is not feasible, your task will be more difficult. You will have to query in your directory with username in all the files. You can make use of LINQ to make this task little easier to you. Once you have got all the list, show it to admin.
I would recommend you to save metadata about the file on the database (like original file name and username). Then you could use this metadata to find the files that the user have uploaded. Give the files a file name on disk that is based on a unique ID in the database table. That way a user can upload several files with the same name. Make sure that this folder is not located within you application so that they are accessible with a url for security reasons.
The most recommended way to achieve this is to use a database, it is same as a module of Gallery where a user has albums and some pictures in albums. Admin can view each user's album and pictures in the album. you have to introduce two tables in your database. I having the category information of files being uploaded (master table) and other table having the info about the files itself (details table).
The other way is to create a hierarchal folder directory for each user for file categories in your application and then recursively read the directories and fields and then list them up to show them to application users. this would be costly i guess when number of files will increase.

Prevent users from deleting files uploaded Alfresco

I've been testing Alfresco for a few days but seem not to find a solution for this.
In Alfresco when an user uploads a file to a folder where it has the contributor role everything works nice, but he can delete that file. I want avoid that so I have defined a rule that takes the ownership of every file uploaded. The script is defined as
document.setOwner('admin');
This way the file can be deleted only by admin. If the rule is active the upload fails for everyother user. Does anybody know what it takes to take ownership of a file in that situation using a script?
I am using Alfresco 4.0a
Thanks.
I guess you can better do the following
document.setOwner("");
Because admin already has full authority in Alfresco.

Resources