gpt4 book ai didi

javascript - 将本地文件从 Electron 推送到 PHP 服务器

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:11 24 4
gpt4 key购买 nike

js 和 Electron 。我在将本地镜像文件推送到远程服务器时遇到问题。服务器使用的是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,谢谢

关于javascript - 将本地文件从 Electron 推送到 PHP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com