iT邦幫忙

1

如何使用nodejs的wget將檔案下載到heroku伺服器中保存?

const spawn = require('child_process').spawn;
const wget = spawn('wget',['-O', 'upload_audio/'+ sender_psid +'.aac', audioUrl]);

我的預想是,經由audioUrl這個下載路徑(https://...)
將檔案下載並存在upload_audio資料夾中,且命名為sender_psid+'.aac'。
但是因為是在heroku雲端伺服器執行的,很好奇這個檔案是否能夠存到這個路徑上?
雖然我在目錄裡有開這個資料夾。

執行後的錯誤訊息:

upload_audio/1847432728691358.aac: No such file or directory
...
Error: ENOENT: no such file or directory, open 'upload_audio/1847432728691358.wav'

下載路徑貼到網頁上馬上就有檔案被下載下來。
目的是要先將檔案暫存後轉成別的檔案類型,但這個暫存讓我很苦惱…
搜尋的關鍵字也不曉得該打什麼才好,還請各位高手幫忙><

1 個回答

1
dragonH
iT邦大師 1 級 ‧ 2019-07-18 09:27:36
最佳解答

我比較好奇的是 heroku

可以讓你操作 file system 嗎

據我所知

heroku 應該不是像你一般操作的 server 那樣

至於關鍵字

搜尋

heroku write file

應該可以找到很多資料

參考1

參考2

參考3

看更多先前的回應...收起先前的回應...
Huiicat iT邦新手 5 級 ‧ 2019-07-18 11:14:50 檢舉

感謝您的幫忙!我會再研究看看~
目前也是找到似乎要透過第三方的資料庫才能存取這些檔案

dragonH iT邦大師 1 級 ‧ 2019-07-18 11:27:03 檢舉

對呀

畢竟 heroku 不是像 aws 那種可以有完整操作的功能

不過如果要使用 gcp 或是 aws 來另外放檔案的話

那或許可以考慮直接 在那邊建一個 server 了

想要什麼都可以自己裝

兩者也都有 12個月一定額度的免費使用

Huiicat iT邦新手 5 級 ‧ 2019-07-18 21:33:28 檢舉

AWS我也有帳號,但是他複雜好多啊…
太多功能名詞導致不知道要從何下手(汗)
看說明文件還不一定找得到
不知道AWS有沒有比較簡單的操作範本?

dragonH iT邦大師 1 級 ‧ 2019-07-18 21:39:09 檢舉

就...

網路上找文章參考吧

如果是要自建server的話

關鍵字搜尋 aws ec2

Huiicat iT邦新手 5 級 ‧ 2019-07-18 21:45:46 檢舉

嗚,好的,謝謝你><!

Huiicat iT邦新手 5 級 ‧ 2019-07-22 15:23:32 檢舉

最後我發現可以暫存在heroku的/tmp目錄裡面,就解決了!
感謝提供資訊!

我要發表回答

立即登入回答