Конечно, у вас есть ошибка здесь, вы добавляете в имя файла изображения еще одну переменную - это наверняка создаст несуществующий файл.
byte[] imageBytes =
File.ReadAllBytes("~/images/photo_not_available.png" + context.Request["image"]);
Вторая ошибка здесь заключается в том, что вы делаетене делайте MapPath вашего ~
byte[] imageBytes = File.ReadAllBytes(
content.Request.MapPath("~/images/photo_not_available.png"));
Или вы можете назвать его как @zapthedingbat предложить.
Еще одна проблема, вы начинаете с
context.Response.ContentType = "text/plain";
, а затем выизмените его на
context.Response.ContentType = "image/png";