Эта статья предназначена для людей, которые уже знакомы с настройкой ReactJs и aws s3. Попытка внедрить API aws-sdk для загрузки файла в корзину s3.
шаг 1: установите aws-sdk
npm install aws-sdk
Шаг 2: Импортируйте AWS в свой файл Constant.js и добавьте информацию о корзине aws s3.
import * as AWS from "aws-sdk"; export const s3 = new AWS.S3({ accessKeyId: ‘AKI3RTYRTRfWIJEWHBWYTLK4E’, //dummy key id secretAccessKey: ‘W+yeP8hsGKyDFGdfgdfgGFifgdfgeywAFmzDCOELWL’, //dummy secret key region: ‘ap-south-1’ });
шаг 3: импортируйте свой постоянный файл в общий файл service.js и напишите следующее
import { s3 } from ‘./constants’; export const fileUploadAPI = async (ev, Key) => { const params = { Bucket: ‘app-dev-file-upload’, Key, // file name Body: ev.target.files[0] }; const res = await s3.upload(params, function(s3Err) { if (s3Err) throw s3Err }).promise(); }
Шаг 3: Теперь вы можете импортировать fileUploadAPI в свой компонент, чтобы загрузить файл напрямую в корзину aws s3.
import { fileUploadAPI } from '../../commom/api'; <input type=”file” name=”file” onChange={(e) => fileUploadAPI(e, 'fileName')}></input>
Я хотел сделать это как можно проще. Если вам нужны какие-либо подробности, пожалуйста, прокомментируйте ниже.