我需要能夠上傳一個zip文件到brightsign單元,並想創建一個休息API,我可以發出一個請求發送zip文件。簡單的對nodejs的請求沒有明文
但問題是我找到的所有例子都是使用express等框架。 是否有可能在沒有使用額外框架的情況下在nodejs中處理PUT請求的其餘API?
問題是我只能使用brightsign播放器上不需要「配置」步驟的模塊。所以我可以使用只包含普通JavaScript的模塊(我希望我的解釋很有意義)。
我需要能夠上傳一個zip文件到brightsign單元,並想創建一個休息API,我可以發出一個請求發送zip文件。簡單的對nodejs的請求沒有明文
但問題是我找到的所有例子都是使用express等框架。 是否有可能在沒有使用額外框架的情況下在nodejs中處理PUT請求的其餘API?
問題是我只能使用brightsign播放器上不需要「配置」步驟的模塊。所以我可以使用只包含普通JavaScript的模塊(我希望我的解釋很有意義)。
您將需要監聽PUT莫名其妙:
const http = require('http');
const querystring = require('querystring');
const server = http.createServer().listen(3000);
server.on('request', function (req, res) {
if (req.method == 'PUT') { //PUT Only
var body = '';
req.on('data', function (data){body += data;});
req.on('end', function() {
var PUT = querystring.parse(body);
console.log(PUT);
res.writeHead(200, {'Content-Type': 'text/plain'})
res.write('\n[request received successfully]\n'); res.end();
});
}else{res.end();}
});
可以使用curl
測試出來:
curl -X PUT -d destPath=/home/usr/images -d fileName=selfie.png -d fileData=base64string localhost:3000
在快遞簡單得多,commen t如果你需要一個快速的例子
謝謝你的例子。也許我很笨,但是當打印正文時,我只能得到請求字符串。我在想,該文件的數據會以某種方式在請求中。 curl命令是否發送文件? – user1716970
是的,但是這是一個簡單的例子,你必須替換'-d fileData = base64string',改變** base64string **爲一個實際的base64字符串,然後在服務器中添加一些邏輯來操作傳入的base64查詢字符串,例如:檢查MIME類型,大小,如果一切正常,然後使用'destPath'和'fileName'作爲文件存儲以指定存儲文件的位置和名稱。 (我建議檢查一切是否與這些參數一致,以避免由於格式錯誤的客戶端請求而導致意外崩潰[缺少您正在使用的參數]) – EMX
什麼是使用快遞的問題,你介意延長嗎? – EMX
我需要能夠在Brightsign播放器上運行它。它僅支持模塊安裝時不需要「配置」步驟的模塊。據我瞭解,一些模塊需要運行一個步驟,爲目標機器配置模塊。 BrightSign播放器不能使用這些模塊。 – user1716970