Upcoming change in file display vs download behavior

We are starting to slowly change which files we tell the browser to try and display and which we tell it to download. Currently we tell the browser to attempt to display almost everything. As this change rolls out we will still be displaying a list of file types (below) in the browser, but everything else will now be downloaded as an attachment. We are using a rollout for this change which means that it could be a few weeks before this change impacts a given user.

Files that will still be attempted to display in the browser:
.pdf
.bmp
.gif
.jpg
.jpeg
.png
.tiff
.heic
.webp
.mp3
.mpeg
.mp4

Now I know that “everything else” can ring some alarm bells, but we are not jumping into this without having some idea of what the impact will be. Over the last 7 days more than 96% of files that have been viewed are in this list that will continue to be displayed in the browser. Of the less than 4% of files remaining the vast majority are file types that browsers can’t display like Microsoft Word documents (.docx). Because of this we anticipate very little impact to the user experience when viewing and downloading files.

We can’t guarantee that there will be no impact however, there is a long tail of file types in the less than 4% of files that will be forced to download. Furthermore 7 days of data doesn’t give us an exhaustive list of file types to check. If there are any concerns about specific file types or issues that arise please reach out.

6 10 997
10 REPLIES 10

This sounds really well thought out…

Please consider adding the .SVG file type to your list.

They was one of my first thoughts. .html files, and the like…

Hard to say if @David_Pond changes would impact the inline SVG stuff we do, since we declare the mimetype upfront / we arent loading from a .SVG source.

If this does nuke the SVG stuff then… uh oh

https://www.appsheet.com/Support/Contact

@David_Pond did some testing and confirmed that his changes should not impact how we currently use SVGs in AppSheet!

@Jonathon Would you mind opening a support ticket? I could get some more technical details from you and we could figure out impact/solutions.

@Grant_Stead Thank you! HTML files specifically have already been forced to download for a while so there shouldn’t be any changes there.

I m not sure if the new codes have been made to change the behavior of file type column action, either display file as preview or start to download, but we noticed this behavior is inconsistant acrosss the different platform.

For instance, the action attached to file type colum, and hit this action for the file (PDF). On the browser (PC) App is to display preview by opening new browser tab.

On Android, it starts to download the PDF to the device and launch google drive app then display the file for preview.

On iOS, it is the same behavior as PC browser, it immidiately display the preview.

On new iOS (im on testing the new one) , it starts to download PDF, asking user where to save the file…

FOR PDF file, it should stay displaying the file for preview across all the devices, I would call.

Just wondering, why to define file type and restrict uploading any file type.
Whatever file type is uploaded should be downloaded in same format.

I have build an application using AppSheet where user will send a request to us for releasing shipping document and has to upload required documents in ZIP. The ZIP file need to be uploaded in the Google Drive and link (URL) to be stored in a GSheet.

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%20...

Rather it should be like below:-
https://drive.google.com/file/d/1AvAA6-S7N-oHr1TqV/view?usp=drivesdk

Kindly assist.

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.

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.

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

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.