我有一個zip文件,我希望用戶能夠下載。訣竅是我不希望用戶看到什麼網址,我不想將文件下載到我的服務器。從url獲取zip文件(PHP)
所以我想用戶點擊這樣的鏈接:
http://example.com/download/4
哪些服務器端訪問我的S3桶這個網址:
https://s3.amazonaws.com/my-bucket/uploads/4.zip
我試着捲曲,使用S3方法,以及我的download($file_id)
函數中的各種headers()
,但無法使其工作。這一定很容易,對吧?
你似乎討論的Everything仍然會涉及下載文件到您的服務器,據我所知。這個簡單且看似明顯的解決方案是生成並返回一個帶有短暫到期時間的簽名URL,以允許瀏覽器直接從S3直接下載文件。擁有將在幾秒內到期的URL並擁有您的文件副本之間沒有顯着差異,因此如果您對此方法有一些擔憂,請解釋一下。 –
@ Michael-sqlbot好點。 「這個簡單且看似明顯的解決方案是生成並返回一個簽名的URL」。我同意這是明顯的解決方案。您的方法存在的問題是URL的品牌損失,以及使您的存儲桶結構公開。對於一個愛好網站來說,這些並不是那麼重要,但對於一個企業來說,它們可以變成現實。 –