It seems the problem is you send the form request to welcome/do_upload, and call the Welcome::do_upload() method in another one by $this->do_upload().
Then change the form helper function (within the View) as follows1:
// Change the 'second_method' to your method name
CodeIgniter has documented the Uploading process very well, by using the File Uploading library.
You could take a look at the sample code in the user guide; And also, in order to get a better understanding of the uploading configs, Check the Config items Explanation section at the end of the manual page.
Also there are couple of articles/samples about the file uploading in CodeIgniter, you might want to consider:
Just as a side-note: Make sure that you've loaded the url and form helper functions before using the CodeIgniter sample code:
// Load the helper files within the Controller
<form method="post" action="controller/method" enctype="multipart/form-data" />
I stumbled on this Q&A from a Google search for another question. You may want to update your answer with the following link codeigniter.com/userguide3/libraries/ as the ellislab.com/codeigniter/user-guide/libraries/ library is out of date.