Мне удалось заставить это работать ...
Сначала я попытался использовать жестко закодированные значения для имен, типов и размеров ответов и обнаружил, что это работает. Вот что я использовал:
context.Response.Write("{\"name\":\"test\",\"type\":\"test\",\"size\":\"12345\"}");
Затем я заметил, что fileupload.FileName указывает полный путь к файлу, и предположил, что это проблема. Когда я изменяю fileupload.FileName на strFileName в моей строке response.write, он успешно работает как в Firefox, так и в IE. Вот строка, которая работает:
context.Response.Write("{\"name\":\"" + strFileName + "\",\"type\":\"" + fileupload.ContentType + "\",\"size\":\"" + fileupload.ContentLength + "\"}");