Плагин jQuery Forms преобразует загрузку файла в постфакту iframe, а не пост ajax автоматически. (Это связано с тем, что XHR не включает файлы.) Поэтому вам просто нужно создать обычную страницу aspx для обработки ответа. Он может просто быть пустым, кроме обработчика события загрузки. Если вам нужен какой-либо ответ, вы можете вернуть его обратно в HTML, который можно прочитать из тела, которое передается обратно.
Например, создать загрузку файла, который, на смену называет это:
function doSubmit() {
var data = {};
$("#"+formId).ajaxSubmit({success: gotResponse, data: data});
}
Обратите внимание, что «ajaxSubmit» здесь является неправильным. В этом случае (при загрузке файла) это обычная почта, которая будет выглядеть как запрос ajax. Очевидно, formId является идентификатором формы, содержащей элемент управления загрузкой файлов.
и функция отклика, (например):
function gotResponse(data) {
/* Cut out the extraneous stuff */
result = data.replace(/^.*<div id="infoDiv">/, '')
.replace(/<\/div>.*$/,'');
/* do something with result */
}
Создание страницы ASPX с DIV, как это:
В загрузке страницы для этой страницы выполните следующие действия:
protected void Page_Load(object sender, EventArgs e)
{
try
{
// Get the file and do whatever with it.
var file = Request.Files[0];
// Put the info to send back as a result here
InfoDiv.InnerHtml = "{error: false}"; // Or whatever
}
catch(Exception e)
{
InfoDiv.InnerHtml = "{error: true}"; // Or whatever
}
}
HTH
Я не уверен, что понял вас .. вы хотите загрузить файл с клиента для веб-сервера с помощью ASP.NET? или? – mastak
Да, я хочу загрузить файл из браузера на веб-сервер с помощью ajax или аналогичного метода страницы, предпочтительно используя подключаемый модуль jQuery Forms. –