С точки зрения ASP.NET вы можете вернуть файл в ответ HTTP, но как только файл будет отправлен в веб-браузер клиента, вам почти не повезет.
Возможно, вы можете что-то сделать с javascript, чтобы упростить процесс сохранения (не в моей области знаний), но об обращении напрямую к файловой системе клиента, особенно к ее записи, не может быть и речи. Если вы хотите сделать это, вам придется написать элемент управления ActiveX или подобный тип плагина.
Edit:
Для возврата файла в ответе HTTP загрузите ваш файл в одномерный байтовый массив и используйте следующий код:
context.Response.Clear()
context.Response.AddHeader("content-disposition", "attachment;filename=" & objFile.FileName)
context.Response.BinaryWrite(objFile.FileImage)
context.Response.End()
В этом примере objFile.FileName является строкой имени файла, а objFile.FileImage является байтовым массивом, содержащим файл. context
является текущим HttpContext.