var file = e.target.files [0];
或
var file = e.target.value;
我正在使用React和Socket io尝试通过聊天发送图像。我能得到的只是文件路径而不是实际文件。我从来没有处理文件输入,所以我试图弄清楚如何获取该文件并将其转换为我可以通过socket io发送的二进制字符串。
帮助?你会推荐哪些套餐?
答案 0 :(得分:0)
您需要从输入中获取文件,例如您可以在onChange
事件上触发处理程序。在此之后,您必须将文件从输入(e.target.file [0]或循环,如果文件很多)放到FileReader
"Storage" documentation.并从文件中提取blob。接下来你可以通过套接字发送提取的blob,如果blob很大,你可以将它切成块。
有代码示例:
`const readBlob = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = e => {
resolve(e.target.result);
};
reader.readAsText(file);
});`
对不起我的英文!)