2 years ago

#54688

test-img

divyanshu_31

Missing required parameter - file Cloudinary \Error

first time trying to upload images to Cloudinary and I have come across an issue Missing required parameter- file

In this way I'm Configuring my cloudinary

//Configuring Cloudinary
cloudinary.config({
    cloud_name: process.env.ClOUDINARY_NAME,
    api_key:  process.env.CLOUDINARY_API_KEY ,
    api_secret: process.env.CLOUDINARY_API_SECRET,
})

Im using this to add user avatar on cloudinary like this:

//Register user
exports.registerUser = catchAsyncError(async (req, res, next) => {

  //avatar img upload
  const myCloud = await cloudinary.v2.uploader.upload(req.body.avatar, {
    folder: "avatars",
    width: 150,
    crop: "scale",
  });


  const { name, email, password } = req.body;
  const user = await User.create({
    name,
    email,
    password,
    avatar: {
      public_id: myCloud.public_id,
      url: myCloud.secure_url,
    },
  });

This is how i am setting the FormData

const registerSubmit = (e) => {
    e.preventDefault();

    const myForm = new FormData();

    myForm.set("name", name);
    myForm.set("email", email);
    myForm.set("password", password);
    myForm.set("avatar", avatar);
    dispatch(register(myForm));
  };
//For Register
export const register = ({userData}) => async (dispatch) =>{
    try{
        dispatch({type: REGISTER_USER_REQUEST});

        const config = { headers : {"Content-Type": "multipart/form-data"} };

        const {data} = await axios.post(
            `api/v1/register`,
            {userData},
            {config}
        );
        
        dispatch({type:REGISTER_USER_SUCCESS, payload: data.user});
    }
    catch(error){
        dispatch({type:REGISTER_USER_FAIL, payload:error.response.data.message});
    }

but after all this I'm still getting the same error, Please help me

javascript

node.js

reactjs

express

cloudinary

0 Answers

Your Answer

Accepted video resources