There are two likely reasons that this could happen -- you do not have write and execute permissions on the directories leading to the directory you are trying to upload to, or
vsftpd is configured not to allow you to upload.
In the former case, use
chown as appropriate to make sure that your user has these permissions on every intermediate directory. The write bit allows the affected user to create, rename, or delete files within the directory, and modify the directory's attributes, whilst the read bit allows the affected user to list the files within the directory. Since intermediate directories in the path also affect this, the permissions must be set appropriately leading up to the ultimate destination that you intend to upload to.
In the latter case, look at your
write_enable must be true to allow writing (and it is false by default). There is good documentation on this configuration file at
man 5 vsftpd.conf.