Мы столкнулись с этой разницей в создании файлов при использовании HttpHandler в сравнении с кодом за Aspx-страницей.
Мы читаем сохраненное изображение jpg / png в виде массива байтов из поля 'Изображение' в базе данных сервера sql и создаем физический файл на сервере.
Как в Aspx Page, так и в Httphandler используется один и тот же код, вставленный ниже.
//Begin
int docID = Convert.ToInt32(Request.QueryString["DocID"]);
var docRow = documentDB.GetDocument(docID);
// Retrieve the physical directory path for the Uploads subdirectory
string destDir = Server.MapPath("../../Uploads").ToString() + "\\";
string strFileName = destDir + DateTime.Now.ToFileTime() + "_" + docRow.DocName.ToString();
FileStream fs = new FileStream(strFileName, FileMode.CreateNew, FileAccess.Write);
fs.Write(docRow.DocData, 0, docRow.DocData.Length);
fs.Flush();
fs.Close();
// End
После создания файла его можно просматривать как изображение jpg / png только в Aspx Code Behind. Хотя в случае HttpHandler это недопустимое изображение.
Любые идеи для этого поведения / недостающие ссылки / шаги разрешения будут полезны.
Спасибо.