Версия Httphandler Aspx Code За написанием файла изображения - PullRequest
0 голосов
/ 31 марта 2010

Мы столкнулись с этой разницей в создании файлов при использовании 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 это недопустимое изображение.

Любые идеи для этого поведения / недостающие ссылки / шаги разрешения будут полезны.

Спасибо.

1 Ответ

0 голосов
/ 01 апреля 2010

Наконец, выделив различные этапы, проблема была идентифицирована как данные, хранящиеся в таблице базы данных.

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

...