Я использую серверный серверный сервер NodeJS, который позволяет веб-интерфейсу (ReactJS / React Native) загружать изображение с использованием данных формы.Вот код, который я использую:
const s3 = new aws.S3({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: "us-east-1",
});
...
const upload = multer({
storage: multerS3({
s3,
bucket: process.env.AWS_BUCKET,
acl: 'private',
metadata(req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key(req, file, cb) {
cb(null, Date.now().toString() + '.png');
}
})
})
...
app.post('/upload', upload.single('photo'), (req, res, next) => {
res.json(req.file)
})
Сервер API работает как надо, и изображение загружается в закрытое защищенное хранилище с использованием AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
.
ОднакоТеперь я хочу, чтобы иметь возможность визуализировать это изображение на ReactJS или React Native.Вы рекомендуете создать другой маршрут NodeJS, который называется что-то вроде /render
, и каким-то образом передавать его на сервер?Если да, как я могу это сделать?
В качестве альтернативы, следует ли мне рендерить его непосредственно с внешнего интерфейса и рисковать, предоставляя пользователю ключи AWS_ACCESS_KEY_ID
и AWS_SECRET_ACCESS_KEY
?