В моем приложении я использую один обработчик ashx для загрузки ppt. В этом случае я создам один снимок экрана (текущий экран как изображение) и передам это имя изображения одному обработчику (ashx) из jquery. Но я не могу отслеживать статус загрузки.return response back to ajax from ashx handler in C#
Если есть способ вернуть ответ от этого обработчика в jquery. то есть я хочу знать, когда эта загрузка закончится.
мой текущий сценарий как этот
JQuery будет генерировать одну строку base64 и передать эту строку в код позади Ajax вызова для преобразования, что изображения и сохранить этот образ в одном месте
на вызов успеха этого запроса ajax он получит это имя изображения и передаст это имя изображения обработчику
Я вызываю этот обработчик с помощью «window.location.href»
мой код
Ajax вызова для сохранения изображения
$.ajax({
type: "POST",
url: AQ.AMT.Url + "/Home/StoreImage",
//async: false,
data: "{'base64':'" + base64 + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (Data) {
window.location.href = "~/Download/Export.ashx?Type=PPT&downloadToken=" + Data.Result + "&Summary=" + summaryText + "&Note=" + noteText + "&Name=" + name + "&Sample=" + sampleSize + "&SampleColor=" + sampleColor + "&pptType=" + pptType + "&flipName=" + flipName;
//here i need some response
},
error: function (e) {
}
});
Handler код для загрузки PPT
public void ProcessRequest(HttpContext context)
{
DownloadPPT(context);
}
public void DownloadPPT(HttpContext context)
{
//here i will take all parameters
try{
//downloading the ppt
saveFile(pres, "" + name + "-" + FlipName + "-" + System.DateTime.Today.ToLongDateString());//ppt name
}
catch{
}
finally
{
//after ppt download i am deleting that screenshot
if (File.Exists(path))
File.Delete(path);
}
}