use*_*953 12 html javascript file-upload websocket node.js
我正在尝试实现一个文件上传器,其中一个HTML输入文件由WebSocket发送到Nodejs服务器.
试图从HTML的FileReader API读取BLOB和二进制字符串中的文件,并将其发送到Nodejs服务器,以便将其写入服务器中的文件.在Nodejs部分中尝试使用ascii或base 64编码的createWriteStream和writeFile.
保存在服务器中的文件仍然无法正常工作.
我错过了什么吗?
谢谢
UPDATE
客户
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());
Run Code Online (Sandbox Code Playgroud)
服务器
var stream = fs.createWriteStream("file");
stream.once("open", function() {
stream.write(msg.file, "base64");
stream.on('finish', function() {
stream.close();
});
});
Run Code Online (Sandbox Code Playgroud)
.readAsDataURL() 返回格式为 data:MIMEtype;base64,.... 的字符串,您应该删除逗号之前的部分,因为它不是 base64 编码文件的一部分,它是服务数据
| 归档时间: |
|
| 查看次数: |
5632 次 |
| 最近记录: |