簡體   English   中英

將本地文件從電子推送到服務器PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM