React native 在feathersjs中上载文件时出现错误500(一般错误)

React native 在feathersjs中上载文件时出现错误500(一般错误),react-native,file-upload,feathersjs,React Native,File Upload,Feathersjs,当我在Feathersjs上发送上载文件的请求时,我在Postman上遇到此错误: { "name": "GeneralError", "message": "ENOENT: no such file or directory, open 'public/uploads/pic'", "code": 500, "clas

当我在Feathersjs上发送上载文件的请求时,我在Postman上遇到此错误:

  {
        "name": "GeneralError",
        "message": "ENOENT: no such file or directory, open 'public/uploads/pic'",
        "code": 500,
        "className": "general-error",
        "data": {},
        "errors": {}
    }
My uploads.service.js:

const {Uploads} = require('./uploads.class');
const createModel = require('../../models/uploads.model');
const hooks = require('./uploads.hooks');
const multer = require('multer');

const storage = multer.diskStorage({
  destination: (_req, _file, cb) => cb(null, 'public/uploads'), // where the files are being stored
  filename: (_req, file, cb) => {
    console.log(_req.body);
    //cb(null, ${_req.body.name});
    cb(null, `${_req.body.name}`); //
  }, // getting the file name
});
const uploads = multer({
  storage,
  limits: {
    fieldSize: 1e8,
    fileSize: 1e7,
  },
});

module.exports = function(app) {
  const options = {
    Model: createModel(app),
    paginate: app.get('paginate'),
    multi: true,
  };

  // Initialize our service with any options it requires
  app.use(
    '/uploads',
    uploads.array('files'),
    (req, _res, next) => {
      const {method} = req;
      if (method === 'POST' || method === 'PATCH') {
        console.log(req.files);
        console.log(req.body);
        req.feathers.files = req.body.files;
        const body = [];
        for (const file of req.files)
          body.push({
            name: req.body.name,
            newNameWithPath: file.path,
          });
        req.body = method === 'POST' ? body : body[0];
      }
      next();
    },

    new Uploads(options, app),
  );

  // Get our initialized service so that we can register hooks
  const service = app.service('uploads');

  service.hooks(hooks);
};
这是我的uploads.model.js:

module.exports = function(app) {
  const modelName = 'uploads';
  const mongooseClient = app.get('mongooseClient');
  const {Schema} = mongooseClient;
  const schema = new Schema(
    {
      name: {type: String, required: true},
    },
    {
      timestamps: true,
    },
  );

  // This is necessary to avoid model compilation errors in watch mode
  // see https://mongoosejs.com/docs/api/connection.html#connection_Connection-deleteModel
  if (mongooseClient.modelNames().includes(modelName)) {
    mongooseClient.deleteModel(modelName);
  }
  return mongooseClient.model(modelName, schema);
};
我真的搞不清楚问题到底出在哪里。据我说,它应该使文件夹自动当我上传文件


我真的很感谢你的帮助。提前谢谢你。

这是我自己的错误。我自己把
上传
文件夹放在
公用
文件夹中,现在它工作了