[英]Push Local File From Electron to Server PHP
js和電子。 我有一個問題是將我的本地圖像文件推送到我的遠程服務器。 服務器正在使用php。 這是我的客戶端代碼:
var documentList = []; var stmtDoc = db.prepare("SELECT * FROM `tb_dokumen_pasien`"); while(stmtDoc.step()) { var rowDoc = stmtDoc.getAsObject(); var data = fs.createReadStream(__dirname + "/resources/" + rowDoc['id'] + "/" + rowDoc['doc_name']); var document = { "document_name" : rowDoc['doc_name'], "data" : data } documentList.push(document); }
然后我創建一個ajax post請求到我的遠程服務器:
$.ajax({ url: "http://url/web_api.php?action=test_upload", type: 'POST', data : { "document_list": documentList }, dataType: "json", success: function(response) { console.log(response); } });
當我測試它時,在我的開發人員工具控制台中,我收到了以下消息:
internal/streams/BufferList.js:15 Uncaught TypeError: Cannot read property 'length' of undefined
並且文件不會發送到服務器。 任何人都可以幫助我如何解決這個問題? 謝謝
有一段時間我發現這個問題的工作解決方案是使用base64格式將它發送到遠程服務器:
var documentList = []; var stmtDoc = db.prepare("SELECT * FROM `tb_dokumen_pasien`"); while(stmtDoc.step()) { var rowDoc = stmtDoc.getAsObject(); var data = fs.createReadStream(__dirname + "/resources/" + rowDoc['id'] + "/" + rowDoc['doc_name']); var base64 = Buffer.from(data).toString('base64'); var document = { "document_name" : rowDoc['doc_name'], "data" : base64 } documentList.push(document); }
我仍然找到最好的方法,而不是使用base64,謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.