Exports should be downloaded with the correct file extension (.pdf, .html, .txt)
Exports download as page.dms, html.dms, or plaintext.dms when using Safari Version 11.0 (12604.1.38.1.7). If I change the extension after the file is downloaded, it opens correctly.
It also exports correctly using Chrome.
Install using the Ubuntu 16.04 script.
Create a new book/page.
Click any of the export links.
Was hoping I could replicate this on an iPad but I unfortunately cannot.
Interestingly, Looking at this page it appears this could be down to a bug in safari.
This could probably be worked-around by adding file extensions to the export urls but that has a chance of causing issues where different server rules have be set up for static file types.
Think the best course of action here is to wait for apple to fix safari unless anyone can confirm it is a BookStack issue.
@ssddanbrown: Hi Dan, I can confirm that the issue still exists when using Safari on a Mac, and that the downloaded file names are correct when using FireFox. However, the download of files from other apps or websites works as expected – even in Safari. Do you have any news on this?
Cheers, Thomas
Describe the bug
When I export a page my installation, the downloaded file is named "html.dms", "plaintext.dms" and "pdf.dms" depending on the export file type. When I rename the downloaded file using the correct suffix, it opens up and is properly displayed.
Steps To Reproduce
Steps to reproduce the behavior:
Expected behavior
The downloaded file should be named "page title.file type" e.g. "foo.pdf"
Your Configuration (please complete the following information):
Additional context
At the moment users can easily work around as described above.
@tomasjay I ran into this same issue recently.
The content disposition headers are missing a closing double quote after the file extension and Safari bugs out. The issue is easily resolved by modifying the content disposition headers for each export method in the following controllers:
v0.22-dev
app/Http/Controllers/BookController.php
Change line 304 from
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.pdf'
To
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.pdf"'
Change line 319 from
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.html'
To
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.html"'
Change line 334 from
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.txt'
To
'Content-Disposition' => 'attachment; filename="' . $bookSlug . '.txt"'
app/Http/Controllers/ChapterController.php
Change line 255 from
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.pdf'
To
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.pdf"'
Change line 271 from
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.html'
To
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.html"'
Change line 287 from
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.txt'
To
'Content-Disposition' => 'attachment; filename="' . $chapterSlug . '.txt"'
app/Http/Controllers/PageController.php
Change line 505 from
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.pdf'
To
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.pdf"'
Change line 522 from
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.html'
To
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.html"'
Change line 538 from
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.txt'
To
'Content-Disposition' => 'attachment; filename="' . $pageSlug . '.txt"'
Great find @ajvolin. Thank you very much.
Just deployed a fix in 5c2e3f4e565b6e7626e1ca5aa83d6ebe4e56e940. Will be in the next release.
Great find @ajvolin. Thank you very much.
Just deployed a fix in 5c2e3f4. Will be in the next release.
Hi @ssddanbrown , I can confirm that with v0.24.1 the behaviour on Safari is as expected.
Thanks a lot!
Hi, I want to ask if any of you have faced the following issue: Safari automatically downloads a dtag.dms file while opening Linkedin? Safari version is 12.0. I am curious what could be the reason?
Thank you very much in advance!
Indeed. I just visited LinkedIn today and—for the first time ever—it automatically downloaded a dtag.dms file to my Downloads. The file is zero bytes in length so it's unlikely to be anything destructive at this length.
This appears in the source HTML and presumably is the cause.
<img id="bizo-pixel" width="1" height="1" alt="" style="display:none" src="/csp/dtag?p=10">
Visiting the link https://www.linkedin.com/csp/dtag?p=10 redirects to https://dc.ads.linkedin.com/collect/?pid=6883&li_id=AgAAGuMDAc8sAYxUF6ddX2P4vU5NmhoyOSeRoM3dKA&li_oo=false&li_update=false&li_active=true&max_age=86400&fmt=gif and delivers a 1x1 GIF called collect.gif.
So it's possible that Safari sees this behavior as questionable tracking and is trying to deny it.
I just added an entry to my MacBook's /private/etc/hosts file:
127.0.0.1 dc.ads.linkedin.com
In theory, this will prevent LinkedIn's ad server from being reached. And this then should make that weird dtag.dms download go away.
Most helpful comment
Great find @ajvolin. Thank you very much.
Just deployed a fix in 5c2e3f4e565b6e7626e1ca5aa83d6ebe4e56e940. Will be in the next release.