gpt4 book ai didi

javascript - 使用 Websockets 和 Nodejs 上传文件

转载 作者:IT老高 更新时间:2023-10-28 23:08:49 27 4
gpt4 key购买 nike

我正在尝试实现一个文件 uploader ,其中 HTML 输入文件由 WebSocket 发送到 Nodejs 服务器。

尝试从 HTML 的 FileReader API 读取 BLOB 和二进制字符串中的文件,并将其发送到 Nodejs 服务器,以便将其写入服务器中的文件。在 Nodejs 部分尝试使用 ascii 或 base 64 编码的 createWriteStream 和 writeFile。

服务器中保存的文件仍然无法正常工作。

我错过了什么吗?

谢谢

更新

客户

    var uploader = $("#uploader"),
files = uploader.prop('files'),
file_reader = new FileReader();
file_reader.onload = function(evt) {
socketClient.write({
'action': 'ExtensionSettings->upload',
'domain': structureUser.domain,
'v_id': ext,
'file': file_reader.result
});
};
file_reader.readAsDataURL(files[0]);
//readAsDataURL
uploader.replaceWith(uploader.clone());

服务器

var stream = fs.createWriteStream("file");
stream.once("open", function() {
stream.write(msg.file, "base64");
stream.on('finish', function() {
stream.close();
});
});

最佳答案

.readAsDataURL() 返回格式为 data:MIMEtype;base64,.... 的字符串您应该删除逗号之前的部分,因为它不是 base64 编码文件的一部分,它是服务数据

关于javascript - 使用 Websockets 和 Nodejs 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20615514/

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