Я создал обработчик Ashx на C#, который предоставляет мне изображения на основе параметра fileid
, который передается мне. У меня также есть простой сценарий предварительного просмотра всплывающей подсказки, который я написал, но он не работает. Вы можете видеть загрузку изображения, но после загрузки изображение просто исчезает.
Я подозреваю, что проблема в обработчике ASHX, потому что, если я использую статическое изображение, оно работает нормально. Вот мой код обработчика ASHX:
public void ProcessRequest(HttpContext context)
{
string fileId = HttpUtility.UrlDecode(context.Request.QueryString["fileId"] ?? "") ?? "";
string fullFileName = context.Server.MapPath("~/Uploads") + "\\" + fileId;
using (FileStream s = File.Open(fullFileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
context.Response.ContentType = HelperClasses.Utility.GetMimeTypeFromMagic(fullFileName);
var buffer = new byte[s.Length];
s.Read(buffer, 0, (int) s.Length);
context.Response.BinaryWrite(buffer);
context.Response.Write(buffer);
s.Close();
}
context.Response.Flush();
context.Response.Close();
}
Кроме того, я создал скрипку, чтобы продемонстрировать проблему.
GetMimeTypeFromMagic
(кстати, прекрасное имя метода) правильный тип контента? - person PoweredByOrange   schedule 29.08.2014IE
... - person PoweredByOrange   schedule 29.08.2014context.Response.Close();
наcontext.Response.End();
и посмотрите, решит ли это проблему? - person Jawwad Alam   schedule 29.08.2014GetMimeTypeFromMagic
просматривает заголовок и магические байты, чтобы определить тип файла (отсюда и название). У меня также есть родственная функцияGetExtensionFromMagic
, которая делает что-то похожее, но возвращает расширение. - person Icemanind   schedule 29.08.2014