#javascript #node.js #express #amazon-s3 #multer
Вопрос:
Я использую postman для тестирования своей конечной точки API для загрузки файла, и при попытке его реализации я получаю сообщение об ошибке. Я почти все перепробовал и действительно не знаю, что делать дальше. Я попытался загрузить файл, который бросил почтальон
Ошибка в том, что
MulterError: Unexpected field at wrappedFileFilter (/Users/georgestchianga/Desktop/ /uR_api/node_modules/multer/index.js:40:19) at Busboy.lt;anonymousgt; (/Users/georgestchianga/Desktop/ /uR_api/node_modules/multer/lib/make-middleware.js:114:7) at Busboy.emit (node:events:390:28) at Busboy.emit (node:domain:475:12) at Busboy.emit (/Users/georgestchianga/Desktop/ /uR_api/node_modules/busboy/lib/main.js:38:33) at PartStream.lt;anonymousgt; (/Users/georgestchianga/Desktop/ /uR_api/node_modules/busboy/lib/types/multipart.js:213:13) at PartStream.emit (node:events:390:28) at PartStream.emit (node:domain:475:12) at HeaderParser.lt;anonymousgt; (/Users/georgestchianga/Desktop/ /uR_api/node_modules/dicer/lib/Dicer.js:51:16) at HeaderParser.emit (node:events:390:28) { code: 'LIMIT_UNEXPECTED_FILE', field: 'file', storageErrors: [] }
моя конечная точка
const aws = require('aws-sdk'); const multer = require('multer'); const multerS3 = require('multer-s3'); const spacesEndpoint = new aws.Endpoint('nyc3.digitaloceanspaces.com'); const s3 = new aws.S3({ endpoint: spacesEndpoint, accessKeyId: 'HIDDEN FOR SECURITY', secretAccessKey: 'HIDDEN FOR SECURITY', }); const upload = multer({ storage: multerS3({ s3: s3, bucket: 'estate', acl: 'public-read', key: function (res, file, cb) { console.log(file); cb(null, file.originalname); }, }), }).array('upload', 1); export class ImageController { upload = async (req, res, next) =gt; { upload(req, res, function (error) { if (error) { console.log(error); return res.send('error'); } console.log('File uploaded successfully.'); res.send('success'); }); }; } const imageController = new ImageController(); export default imageController;