1
var file = e.target.files [0];如何从输入类型文件元素中获取实际文件?
或
var file = e.target.value;
我正在使用React和Socket io尝试通过聊天发送图像。我所能得到的只是文件路径而不是实际的文件。我从来没有处理文件输入,所以我想弄清楚如何获取该文件并将其转换为可以通过套接字io发送的二进制字符串。
有帮助吗?你会推荐哪些软件包?
var file = e.target.files [0];如何从输入类型文件元素中获取实际文件?
或
var file = e.target.value;
我正在使用React和Socket io尝试通过聊天发送图像。我所能得到的只是文件路径而不是实际的文件。我从来没有处理文件输入,所以我想弄清楚如何获取该文件并将其转换为可以通过套接字io发送的二进制字符串。
有帮助吗?你会推荐哪些软件包?
您需要从输入中获取文件,例如您可以在onChange
事件中消防处理程序。之后,您必须将文件从输入(e.target.file [0]或循环,如果文件很多)到FileReader
FileReader methods并从文件中提取blob。接下来,你可以发送提取blob通过套接字,如果blob是大,你可以把它切成块。
有例子的代码:
`const readBlob = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = e => {
resolve(e.target.result);
};
reader.readAsText(file);
});`
对不起,我的英语)
您是否尝试过现有的任何反应过来的包呢? https://www.npmjs.com/package/react-simple-file-input这一个似乎允许将输入转换为二进制,给它一个镜头,让我们知道它是怎么回事 – Grandas