Compress files and directories into zip file and put it into blob field
Does it need to be done in real time?  I would engineer the solution differently.


The client uses a stored procedure to write to a queue table with what needs to be compressed.
A script running on the server periodically checks the queue table and zips up everything that needs to be zipped up, marks it as complete and does whatever else needs to be done.