2017-07-25 36 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) 
} 
相關問題