2017-07-25 56 views
1

我有一个React应用程序,它从上传获取数据。我想将数据(主要是CSV)逐行发送到我的API。问题是我无法获得正确的价值。什么是React与FileReader中的正确的获取正文

const uploadLocalFile = (file) => (dispatch) => { 
const reader = new FileReader() 
    reader.onload = evt => { 
     fetch("some/api/here", 
      { 
       credentials: "same-origin", 
       method: "POST", 
       body: //file, evt.target.result ?? <--- 
      }) 
     } 
    reader.readAsText(file) 
    alert("done.") 
} 

file是整个文件,evt.target.result未反应允许? evt.currentTarget是否被取回禁止?

+0

这与React有什么关系? –

+1

'fetch'返回一个Promise的权利?我没有看到你对返回值做任何事情。请参阅https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch – Halcyon

+0

https://en.wikipedia.org/wiki/Byte_order_mark – K3N

回答

0

你是什么意思“不允许在反应”?将此函数作为文件输入的处理程序应该可以正常工作:

handleSelectFile = (event) => { 
    const file = event.currentTarget.files[0] 
    const reader = new FileReader() 
    reader.onload = (event) => { 
    const content = event.target.result 
    // do whatever you want do do with `content` 
    } 
    reader.readAsText(file) 
} 
相关问题