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