Httplistener и загрузка файлов

Я пытаюсь получить загруженный файл с моего веб-сервера. Поскольку клиент отправляет свои файлы через веб-форму (случайные файлы), мне нужно проанализировать запрос, чтобы вывести файл и обработать его в дальнейшем. В основном код выглядит так:

HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
StreamReader r = new StreamReader(request.InputStream, System.Text.Encoding.Default);
// this is the retrieved file from streamreader
string file = null;

while ((line = r.ReadLine()) != null){
     // i read the stream till i retrieve the filename
     // get the file data out and break the loop 
}
// A byststream is created by converting the string,
Byte[] bytes = request.ContentEncoding.GetBytes(file);
MemoryStream mstream = new MemoryStream(bytes);

// do the rest

В результате я могу получить текстовые файлы, но для всех других файлов они повреждены. Может кто-нибудь сказать мне, как правильно разобрать эти запросы Httplistner (или предоставить облегченную альтернативу)?

Ответы на вопрос(3)

Ваш ответ на вопрос