React dropzoneを使用して、onDrop
コールバックを使用して画像に正常にアクセスしました。しかし、イメージをサーバーに送信し、S3バケットに保存し、署名されたURLをイメージに戻してAmazon S3にアップロードしようとしています。Reject dropzone、画像のアップロード方法は?
これまで私がこれまでに持っていた情報ではこれを行うことができず、私の知る限りではこれを言及していないようです。
onDrop
export function saveImageToS3 (files, user) {
file = files[0]
// file.name -> filename.png
// file -> the entire file object
// filepreview -> blob:http:localhost:3000/1ds3-sdfw2-23as2
return {
[CALL_API] : {
method:'post',
path: '/api/image',
successType: A.SAVE_IMAGE,
body: {
name: file.name,
file: file,
preview: file.preview,
username: user
}
}
}
}
をしかし、私は私のサーバーに到達したとき、私はそれだけから参照です(このブロブ画像を保存するかどうかはわかりませんブラウザ。)
server.post('/api/image', (req, res) => {
// req.body.preview --> blob:http://localhost:3000/1ds3-sdfw2-23as2
// req.body.file -> {preview:blob:http://localhost:3000/1ds3-sdfw2-23as2}, no other properties for some reason
})
。 FileReader/ArrayBufferを使用してBLOBを読み込んでバイトを取得する必要があります。そのために、サンプルコードをたくさん用意しておく必要があります。しかし、私が少し調べたところ、おそらくそれがあなたを助けてくれるかもしれません:https://www.npmjs.com/package/react-dropzone-s3-uploader –
他の人のために - 私もマルチサーバー側を使用しなければなりませんでしたマルチパートフォームデータを登録していないためです。私は新しいFormDataで以下の提案を使ってオブジェクトを作成し、次にノードの中でmulterをapp.post( '/ api/image'、upload.single( 'file')、function(){...})として使用しましたそれを世話してください。 –