[英]How can I download pdf resume using the download button I created on HTML
[英]How can I use a html button to download a dmg file?
所以我前一陣子問了這個問題,它立即關閉了,所以我會提供更多細節,這個問題似乎是特定於 dmg 文件類型的,直到現在我從未遇到過這個問題。
我只是希望能夠單擊一個按鈕,然后在不使用太多 javascript 或任何東西的情況下下載 dmg。
但是,使用我的代碼,dmg 文件會在瀏覽器中打開,因此您會收到一堆二進制亂碼,如果您想查看我的意思,則不會下載該文件,然后前往https://lucas-testing.000webhostapp.com/release對於 MacOS,請單擊下載。
由於版本號是名稱的一部分,dmg 的文件名會發生變化,因此我使用 php 來獲取文件信息並創建一個變量來存儲該網站地址,例如我的 PHP 生成的當前鏈接將是:
var downloadLinkAlt = "https://lucas-testing.000webhostapp.com/release/The City Of Truro Mariners - Management Console-1.0.19.dmg"
然后我下載此鏈接的代碼是:
<button onclick="location.href=downloadLinkAlt" id="DownloadByOSAlt" class="btn btn-sm btn-primary mt-3">Download for MacOS</button>
我知道上面的代碼可以正常工作,因為它可以完美地使用完全相同的鏈接,但使用 exe 文件擴展名。
我嘗試過的事情:
可以在 HTML5 中使用的下載屬性來強制下載 PDF 之類的內容:
<button onclick="location.href=downloadLinkAlt" id="DownloadByOSAlt" class="btn btn-sm btn-primary mt-3" download>Loading...</button>
參考: https://www.w3schools.com/tags/att_a_download.asp
將按鈕放入表單並使用帶有鏈接的獲取請求:
<form method="get" action=downloadLinkAlt>
<button type="submit">Download!</button>
</form>
參考: https://stackoverflow.com/a/11620761/12887221
使用不可見的 iframe,當按下按鈕時,它的源會發生變化:
document.getElementById('my_iframe').src = downloadLinkAlt;
<iframe id="my_iframe" style="display:none;"></iframe>
參考: https://stackoverflow.com/a/22231021/12887221
有人對下一步要嘗試什么有任何建議嗎?
可能不是您執行下載的方法被破壞,而是網絡服務器沒有為 dmg 文件提供正確的 mime 類型。 文件正在下載並且您收到的內容看起來像亂碼,這可能是一個跡象。 瀏覽器不知道會發生什么。
要查看服務器發送的 MIME 類型,請在您的瀏覽器中打開開發人員工具,單擊網絡並在列表中查看您正在下載的文件。
只是谷歌搜索似乎表明 DMG 文件的正確 mime 類型是application\octet-stream
。 如果您在開發人員工具中查看它時沒有說這種類型,那么這可能是您的問題。 如果確實如此,那么它可能是別的東西。 這是一篇關於 mime 類型的文章: https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Configuring_server_MIME_types 。 向下滾動到底部以獲取有關配置不同 web 服務器(Apache、IIS 等)的 mime 類型的一些注釋。
還注意到您的 URL 包含空格。 這些應該是百分比編碼的有效。
另一種可能更直接的下載方法是使用超鏈接,例如:
<a href="URL_to_your_flle.dmg">Download</a>
你可以把它設計成一個按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.