我有一个使用react-dropzone-component
的反应应用。当我向其中删除图像时,我会在firebase函数上为每个图像发送一个POST请求(在将来的批量上传中,但只有一步),以处理该文件并将其保存在本地tmp存储的函数中。如果我使用远程网址,则cors
使用Access-Control-Allow-Origin
http://localhost:3000
时始终会失败。但是,当我在本地提供函数并使用localhost 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
,它按预期工作。