TFTP is a simple protocol used to transfer files, and therefore was named the Trivial File Transfer Protocol or TFTP. The only thing it can do is read and write files from/to a remote server. It cannot list directories content or change the working directory, and currently has no provisions for user authentication, so a TFTP server must have a dedicated working directory that's used to send and receive files.
A TFTP server cannot receive a file from a client unless a file with the same name and with full write permissions already exists in the current working folder. That's why this application has a toolbar button to create on your Mac the files you plan to upload: such files are created with the proper permissions already set, so that your TFTP clients may upload their files overwriting those already existing in the TFTP current folder.
In versions of Mac OS X earlier than 10.12 "Sierra" it's even necessary to set the permissions for the TFTP working folder to Read/Write/eXecute for all (owner user, group and others) and to set the permissions for all the parent folders in its hierarchy tree to Read/Write/eXecute for the owner user and Read/eXecute for group and others (these should be the default settings for any newly created folder). If one or both of these permissions are not properly set you will see an alert in the bottom part of the TftpServer's window and the necessary "Fix" buttons will be enabled: click them to allow the TftpServer application to set the proper permissions as described above. I noticed that this restriction was no longer in place while running macOS 10.12, but maybe it was disabled even on earlier versions of macOS.
Because of the aforementioned reasons, many users get the typical File not found or Access violation error messages when trying to upload a file from a TFTP client, therefore you should check that all of the conditions below are met to avoid such an error:
Also notice that a RFC-compliant TFTP server can't manage files larger than 32 Mb in standard mode; to overcome this limitation most TFTP servers, including the one included in Mac OS X, support extended mode to allows a tftp client to transfer files up to 4 Gb large, but this requires even the tftp client to support extended mode (for example, you can start the Mac OS X tftp client in extended mode with the command tftp -e hostname).
The problem is that some network devices (Cisco IOS devices are the most common and annoying case) don't support tftp extended mode though, so don't wonder when you are trying to transfer the latest IOS 12.4 image large 56 Mb to your Cisco router and the tftp transfer fails after 32 Mb have been transferred. In this case you must use a FTP server (copy ftp: flash:) to tranfer the binary image of your valuable IOS 12.4 Enterprise Plus IDS/FW with IPsec/3DES/WannaBe-Fortigate to your Cisco device.
For more informations about the TFTP protocol please read RFC 1350, which fully explains it.