2016-06-07 51 views
0

在我的無服務器應用中,我需要動態生成pdf,然後將生成的pdf上傳到aws-s3存儲桶。但在無服務器,我們只能發送json請求,所以我發送我的html字符串到無服務器,它生成PDF,然後將生成的PDF保存到本地計算機。我認爲,那部分我可以做,但是我的問題是,我需要將新生成的pdf上傳到aws-s3。我的代碼如下:從本地系統上傳pdf文件到aws-s3

角碼

$scope.generate_pdf = function() { 

    var html = angular.element('html').html(); 

    var service = API.getService(); // sent html string as json for generating pdf 
    service.downloadPdf({}, { html : html }, 
     function(res) { 
      console.log("res : ", res); // res.url: /tmp/dynamica-generate.pdf 
             // pdf is saved into '/tmp' folder 
            // now I want to upload pdf from '/tmp' folder to aws-s3 


     }, function(err) { 
      console.log("err : ", err); 
     }); 

}; 

我怎樣才能解決這個問題,先謝謝了。

+1

你需要從本地上傳到S3還是直接上傳到S3而不是本地? – error2007s

+0

上傳PDF從本地'/ tmp目錄/一些產生-file.pdf'如果您是通過無服務器lambda函數遠程生成PDF文件,以S3 – sabbir

+0

,爲什麼不也直接從那裏上傳到S3? –

回答

0

如果你想從你的本地機器S3存儲上傳文件。在本地機器上安裝AWS Cli。在這之後進行添加cron作業此命令

aws s3 sync /tmp/* s3://mybucket 
0

您應該能夠使用aws Javascript S3 sdk到JS代碼集成到您的angularJS代碼。

您可以按照從this blog postgithub code

它也提及有關使用公共IAM帳戶中設置的憑據。根據您向客戶提供文件的方式,您也可以使用預先簽名的URL進行檢查。

相關問題