Загрузка файла из методов страницы - PullRequest
1 голос
/ 07 декабря 2010

У меня есть функция JavaScript, которая вызывает метод страницы следующим образом:

function openFile(file) {
    PageMethods.LoadFile(file);
}

[System.Web.Services.WebMethod]
public static void LoadFile(string fileName)
{
   HttpContext.Current.Response.ClearContent();
   HttpContext.Current.Response.Buffer = true;
   HttpContext.Current.Response.ContentType = "application/binary";
   var filePath = @"C:\MyFiles\" + fileName;
   HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", fileName));
   HttpContext.Current.Response.WriteFile(filePath);
    HttpContext.Current.Response.End();
}

Метод страницы генерирует следующее исключение:

Ошибка времени выполнения Microsoft JScript: Sys.Net.WebServiceFailedException: сбой метода сервера «LoadFile» со следующей ошибкой: System.Threading.ThreadAbortException-- Поток был прерван.

Как я могу это исправить?

1 Ответ

4 голосов
/ 07 декабря 2010

Вы получаете это исключение, потому что вы вызвали функцию End () и принудительно прервали ее.удалите его.

Ссылка: http://support.microsoft.com/kb/312629/
И, если вы Google это:посмотрите, что вы пытаетесь отправить файл, но вы указали путь к локальному диску.Измените это на свой http адрес.

...