Jquery Error al cargar el archivo al enviar a ashx
Estoy intentando usar laJquery subir archivos addon para subir archivos asincrónicamente a un controlador http C3. He seguido los pasos de configuración en laGitHub site Para el proyecto. Parece que funciona bien en Firefox, pero arroja un error de JavaScript en IE ('Excepción lanzada y no atrapada'. Línea 95, Char 25, Archivo: test.html), aunque el archivo se cargó con éxito. Creo que mi problema está relacionado con la respuesta de mi ashx. ¿Alguien puede ver lo que estoy haciendo mal?
Aquí está el cuerpo del html para mi página (test.html):
<form id="file_upload" action="testupload.ashx" method="POST" enctype="multipart/form-data">
<input type="file" name="file" multiple>
<button>Upload</button>
<div>Upload files</div>
</form>
<table id="files"></table>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
<script src="../Script/jquery.fileupload.js"></script>
<script src="../Script/jquery.fileupload-ui.js"></script>
<script>
/*global $ */
$(function () {
$('#file_upload').fileUploadUI({
uploadTable: $('#files'),
downloadTable: $('#files'),
buildUploadRow: function (files, index) {
return $('<tr><td>' + files[index].name + '<\/td>' +
'<td class="file_upload_progress"><div><\/div><\/td>' +
'<td class="file_upload_cancel">' +
'<button class="ui-state-default ui-corner-all" title="Cancel">' +
'<span class="ui-icon ui-icon-cancel">Cancel<\/span>' +
'<\/button><\/td><\/tr>');
},
buildDownloadRow: function (file) {
return $('<tr><td>' + file.name + '<\/td><\/tr>');
}
});
});
</script>
Aquí está el código en mi ashx:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
namespace Testing
{
/// <summary>
/// Summary description for $codebehindclassname$
/// </summary>
public class TestUpload : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
HttpPostedFile fileupload = context.Request.Files[0];
string strFileName = Path.GetFileName(fileupload.FileName);
string strExtension = Path.GetExtension(fileupload.FileName).ToLower();
string strSaveLocation = context.Server.MapPath("Upload") + "\\" + strFileName;
fileupload.SaveAs(strSaveLocation);
context.Response.ContentType = "text/plain";
context.Response.Write("{\"name\":\"" + fileupload.FileName + "\",\"type\":\"" + fileupload.ContentType + "\",\"size\":\"" + fileupload.ContentLength + "\"}");
}
public bool IsReusable
{
get
{
return true;
}
}
}
}