When using the download=0 query parameter i still get an file with name header back

I have…

  • [ X ] Checked the logs and have uploaded a log file and provided a link because I found something suspicious there. Please do not post the log file in the topic because very often something important is missing.

I’m submitting a…

  • [ ] Regression (a behavior that stopped working in a new release)
  • [ X ] Bug report
  • [ ] Performance issue
  • [ ] Documentation issue or request

Current behavior

When I add &download=0 to the asset URL i still get the file name back in the response header. For example:
https://cloud.squidex.io/api/assets/travel-diaries/02cf2e10-f1a9-410d-b809-77c426be3060?width=1200&height=628&download=0&mode=CropUpsize&quality=80
Those still have the following headers:
content-disposition:inline; filename=“Belgie, Transardenaisse dennenbossen.jpg”; filename*=UTF-8’'Belgie%2C%20Transardenaisse%20dennenbossen.jpg
content-type: application/octet-stream

This is giving error for example when you try to use this image as an OGP image for social media because it gives error that content-type is not an image type.

Expected behavior

Would not want to have the file name returned and would like to have the content-type to the correct content type based on uploaded extension. I tough the download=0 did this. But see no change between the url with or without the download=0

Minimal reproduction of the problem

Try to get an image with and without the download=0 query parameter:

With:
https://cloud.squidex.io/api/assets/travel-diaries/02cf2e10-f1a9-410d-b809-77c426be3060?width=1200&height=628&download=0&mode=CropUpsize&quality=80

Without:
https://cloud.squidex.io/api/assets/travel-diaries/02cf2e10-f1a9-410d-b809-77c426be3060?width=1200&height=628&mode=CropUpsize&quality=80

Same headers returning

Environment

  • [ ] Self hosted with docker
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [ X ] Cloud version

Version: Latest cloud version

Browser:

  • [ X ] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [ ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ ] IE
  • [ ] Edge

Others:

The file name is not the problem I think and I do not have plans to change this, but I have to check the file type.

EDIT: Your asset is of type application/octet-stream, it has been uploaded with this extension.

Alright, but this JPG file is uploaded trough Squidex. It is uploaded in this field:

and it even had the ‘Must be image’ checkbox on. See this settings:

Why does Squidex makes it an ‘application/octet-stream’?

These are two independent things. The mime type is defined by the browser when uploading it. The image type is directly analyzes by opening the image or checking the metadata. Most binary file formats have some magic bytes at the beginning that can be used to detect the file format, e.g. JPG starts with JFIF in ASCII I think.