У меня есть приложение реакции, где я использую react-dropzone-component
.Когда я перетаскиваю на него изображения, я отправляю запрос POST для каждого изображения (при будущей массовой загрузке, но один шаг за раз) в функцию firebase, чтобы обработать файл и сохранить его в функциях локального хранилища tmp.Когда я использую удаленный URL-адрес, он всегда дает сбой на cors
с Access-Control-Allow-Origin
http://localhost:3000
.Но когда я обслуживаю функции локально и использую локальный URL для функции загрузки, это работает.
Экспресс-функции для загрузки:
const storage = multer.diskStorage({
destination: './tmp/',
filename: (req, file, cb) => {
cb(null, file.originalname);
}
});
const upload = multer({ storage });
export default () => {
const app = express();
app.use(cors(), upload.single('file'), (req, res) => {
if (req.file) {
res.send({ path: req.file.path });
} else {
res.send({ responseText: 'no file' });
}
});
return app;
};
Также пытались использовать cors({ origin: true })
и cors({ origin: 'http://localhost:3000' })
,но не повезло.
Ответ, который я получаю от функции, - 'no file'
, а когда я добавляю console.log
, файл - null
.На localhost
работает как положено.