I am adding a bit of information to this page, since it took me 20 minutes to figure out which is stupid I know, it probably will take someone else it as well.
Most people, like me, will actually want to use the file. When you upload, you do not upload the file but a group of strings, this is what you see when you use the code above. Using the 'datapath' column you are able to use the normal ways to get your data, e.g. read.csv()
Seeing the post linked below made me realize this, using the line:
inFile <- input$files
you get the uploaded data (note this does not contain the file yet) in a data.frame. If you use
dataset<-read.csv(inFile$datapath, header=T, stringsAsFactors =F)
you actually get the data you want in the variable 'dataset'. The variable inFile$datapath contains the path to the file. Now you have the data, play around with it! Using the normal code for the UI you should see your table.
Might be redundant, but since this is one of the first hits on google, I guess it won't hurt.