So I’m not sure I’ve understood all of the questions very well, I’ll do my best to answer but please clarify if I’ve misunderstood. Also for the record this change has been live for all appsheet users for about a month at the time of this post.
sssheoran:
Just wondering, why to define file type and restrict uploading any file type.
This change did not restrict what types of files can be uploaded. It also did not change what types of files can be viewed. The only change here was to how files can be viewed.
If the file type is in the list from the first post AppSheet will attempt to display this file in the browser window when a user goes to view one of these files. For example if I had a pdf stored on a file storage app and I went to view it my browser would open another tab and display the pdf.
If the file is not in the list users can still view the file. The only change here is that we force the file to be downloaded to the users device. The example here is if I had a zip file stored in the same file storage app when I went to view it the zip file would be downloaded to my computer where I could then unzip it and view it normally.
Now before this change many file types would still be downloaded but the browser would have to make that decision because of the http response headers we set. Because the users browser decided how to deal with that file it could lead to some inconsistent behaviors between browsers and versions of browsers. After this change the response headers are set to tell the browser to download the file unless it is on the list above. This lets us have a more consistent experience across browsers.
sssheoran:
Whatever file type is uploaded should be downloaded in same format.
We do not change the format of a file between upload and download. The type of file you upload will be the same as what you download or view.
If you are seeing files uploaded as one type and downloaded as a different file type than that is a pretty big issue that we need to fix. If this is something you are running into please open a support ticket: https://www.appsheet.com/Support/Contact
sssheoran:
Link OR URL should not be something like below, because this will work with AppSheet link only:-> https://www.appsheet.com/template/gettablefileurl?appName=EBLRELEASEREQUEST-3301798&tableName=eBL%20Header&fileName=eBL%20Folder%2F&refresh=1&wipe=1> > Rather it should be like below:-> https://drive.google.com/file/d/1AvAA6-S7N-oHr1TqV/view?usp=drivesdk
This is a little more complicated and doesn’t really touch on the updates to the http response headers. There are a few issues here but the largest issue that I can see has to deal with authorization. We can and do verify that an AppSheet user has permission to view a file with that first link with their AppSheet credentials. But with that Google Drive link AppSheet is not part of the authorization flow at all. Because of this the app owner would need to manually set share permissions in Google Drive for app users, and the app users would need to have Google accounts to access the file with. All of this gets additional complications when we consider that AppSheet supports multiple providers each of which has their own authorization flow.
If this is more of a convenience of sharing files issue one option you could look into is using automation to send email with attachments.
Thank you for your questions. I hope this helps, if I missed or misunderstood anything please let me know.