2013-11-05 5 views
5

これで、ローカル環境で作業しているアプリケーションにファイルアップローダを構築しました。この、今Meteor.jsプロダクションのフォルダをアップロード

getUploadPath = function() { 
    var fs = Npm.require('fs'); 
    var path = Npm.require('path'); 
    var devPath = path.join(process.cwd(),"../../../../../public"); 
    var prodPath = path.join(process.cwd(),"../client/app/"); 
    if (fs.existsSync(devPath)) { 
     return path.join(devPath,"upload"); 
    } 
    else { 
     return path.join(prodPath,"upload"); 
    } 
} 

:我々は生産にコードを移動すると、私たちは小切手を使用し、

http://localhost:3000/upload/filename.extension 

を:私たちは、公共/アップロードにアップロードされたファイルを持っていると我々は使用してファイルを読み込むことができます{prod_path}/programs/client/app/uploadにファイルを保存します。ただし、アプリケーションでファイルを使用することはできません。驚いたことに、ローカルにあるすべてのファイルも、同じアップロードフォルダに存在し、アプリケーションがアクセスできるように見えます。私は何が欠けていますか?

+0

:nginxのオン

私はこのようなものを使用します。だから次の質問は、静的リソースをサーバに格納してアクセス可能にするための場所です。 –

答えて

0

このアプリケーションをNginxまたはApacheサーバー上で実行すると、Meteorなしでファイルが直接配信されるように、場所を設定/アップロードできます。私はprogram.jsonは、パスとURLのマッピングを持っていることを考え出し

location /upload/ { 
    root /home/app-name/bundle/programs/web.browser/app; 
} 
関連する問題