ローカルファイルのダウンロードは、次のように行われます。Herokuファイルのアップロード
panelBody.append('<button onclick="downloadCsv(\''+skl+'\')">Download csv</button>')
function downloadCsv(data){
var filename=data+'_report.csv'
var form = $('<form>', {action: '/admin/download', method: 'GET'});
form.append($('<input>', {name: 'file_name', value: filename}));
form.submit();
return false;
}
router.get('/download',helper.isSchoolAdmin,feedController.downloadCsv);
downloadCsv:function(req,res){
var fileName = process.cwd()+'/reports/'+ req.query.file_name;
res.download(fileName,function(err){
if(!err)console.log('down')
});
}
ファイル自体は、別のルートへの直前の要求で指定されたパスに書き込まれます。 これはローカルでうまくいきます。私はherokuに展開したらどうなりますか?私はherokuがtmpディレクトリにのみ書き込むことができるephimeralファイルシステムを使用していることを読んだので、私のファイルのアップロードとダウンロードは動作しますか?
もしそうならば、誰かがノード経由でそのディレクトリに書き込む方法を正確に伝えることができますか...また、アップロードとダウンロードが一部であるため、ファイルをダウンロードする前にファイルが削除されてしまいます別のリクエストのありがとう。
それはファイルをアップロードして読むためにOKですが、(例えばCSV)を参照して、システムがそれを削除しますか?私はファイルを保存することを心配していません - ちょうど内容を取ってapiにPOSTをするだけです。ありがとうございました。 – joshlsullivan
はい、問題ありません。リクエストの期間が経過してもファイルがファイルシステムに存在するとは限りません。 –
回答いただきありがとうございます。 – joshlsullivan