2017-02-10 8 views
4

私はトラブルあなたが私のアップロードエンドポイントにdatauriを投稿するとき、私は成功したRESTfulなアップロードを実装しているFeathersJS Uploadファイルの変換タイプ - リアクト - ドロップゾーン

React-dropzoneの統合を持っています。 { uri: data:image/gif;base64,........}

私の問題は、react-dropzoneでファイルを選択してフォームを送信するときに、Fileタイプが表示されていることです。それをどうにかしてデータURIに変換する必要があるようです。

これはDauriaによって処理されるはずです...しかし、私の問題は私のPOSTリクエストにあり、fileプロパティが正しいファイル形式に設定されていないと思います。 FileFormDataに変換する必要がありますか?ここで

答えて

2

は、Fileオブジェクトからそれを行うための一つの方法である:イメージを使用して

enter image description here

とFileReaderのあなたは、幅、高さ、およびbase64でデータを取得することができます:

onDrop = (acceptedFiles, rejectedFiles) => { 
 
    const file = acceptedFiles.find(f => f) 
 
    const i = new Image() 
 

 
    i.onload =() => { 
 
    let reader = new FileReader() 
 
    reader.readAsDataURL(file) 
 
    reader.onload =() => { 
 
     console.log({ 
 
     src: file.preview, 
 
     width: i.width, 
 
     height: i.height, 
 
     data: reader.result 
 
     }) 
 
    } 
 
    } 
 
    
 
    i.src = file.preview 
 
}

+0

ありがとうございます。私は、これを還元するためにonloadトリガーの後に解決するためにPromiseを使用する必要があると仮定します。 – Greg

+0

私はmobxを使用しているので、私はトリガを取得した後、私はちょうど状態を更新することはできません。バニラ・リアクトでは、setState()でそれを行うことができます。 – schabluk

関連する問題