我使用Node.js來託管Web服務器。服務器將與不同的第三方存儲提供商進行通信,例如Box,Dropbox,Googledrive,amazon s3,skydrive,ftp服務器等。服務器將從存儲提供商處下載文件或將文件上傳到存儲提供商。尋找node.js模塊爲不同的存儲提供者提供統一的文件API
我使用OAuth模塊實施授權過程並獲取auth_token和auth_secret。 OAuth模塊統一了不同服務器的授權接口。 OAuth模塊封裝了oauth服務器的API,並提供了統一和友好的界面。使用OAuth模塊,我不需要在代碼中調用oauth服務器的API。這是相當不錯的,並節省了我的工作很多。
當從/向不同存儲提供者下載/上傳文件時遇到一些困難。我必須爲每個存儲服務器編寫不同的實現。例如調用APi將文件上傳到盒子,調用S3 API將文件上傳到S3等。我想知道是否有一些節點模塊封裝了存儲提供程序的所有API,這與授權API的OAuth模塊一樣。
下面的僞代碼表示我期望這種模塊如何工作。我想它的名字是'存儲'。
var storage = require("storage"); // This is the storage library I'm looking for.
var s3 = storage.s3(s3_aouth_token_and_secret); // The declaration for the s3_aouth_token_and_secret is omitted for simplification.
var box = storage.box(box_aouth_token_and_secret);
var dropbox = storage.dropbox(dropbox_aouth_token_and_secret);
var local_file_name = "./report.docx";
s3.upload(s3_parent_folder_id, local_file_name); // Upload local file to s3
box.upload(box_parent_folder_id, local_file_name); // Upload local file to box
dropbox.upload(dropbox_parent_folder_id, local_file_name); // Upload local file to dropbox
var local_pah = "./downloads/';
s3.download(s3_file_id, local_pah);
box.download(box_file_id, local_pah);
dropbox.download(dropbox_file_id, local_pah);
請讓我知道哪個節點模塊可以滿足我的要求。
感謝,
傑弗裏