Pregunta

Tengo un poco de HTML que se genera por jQuery en una página Share Point. Quiero usar uploadify en este HTML para cargar un archivo en el servidor. Alexander ha ayudado proporcionando el código de ejemplo, que se basa parcialmente en http://www.uploadify.com/forum/viewtopic.php?f=5&t=45 .

upload.ashx

<%@ Assembly Name="ClassName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f099e668beaaa0f9" %>
<%@ WebHandler Language="C#" CodeBehind="Upload.ashx.cs" Class="Site.RootFiles.TEMPLATE.LAYOUTS.other.Upload" %>

upload.ashx.cs

public class Upload : IHttpHandler
{
    public void ProcessRequest(HttpContext context) {
    HttpPostedFile oFile = context.Request.Files["Filedata"];

   if (oFile != null) {
   const string sDirectory = "c:\\";
   if (!Directory.Exists(sDirectory))
   Directory.CreateDirectory(sDirectory);

   oFile.SaveAs(Path.Combine(sDirectory, oFile.FileName));

   context.Response.Write("1");
        }
        else {
            context.Response.Write("0");
        }
    }
    public bool IsReusable {
        get {
            return false;
        }
    }
}

El archivo no es subir al servidor. El único caso de ser lanzado es el onProgress uno. Navegando a _layouts / otro / Upload.ashx devuelve 0 (esto es correcto) lo que el archivo está allí.

La cuestión principal es cómo consigo esto para reproducir con punto compartido? Trato de depuración remota en el archivo upload.ashx pero no me permite añadir puntos de interrupción en VS depuración tan remoto no hace nada.

Actualización 1

Esta pregunta archivos de Visual Studio ASHX depuración consiguió la depuración de trabajo.

Cuando navego directamente a la página 0 se escribe en la página. Los fuegos del depurador y todo es bueno. Cuando el script se ejecute no está golpeando Upload.ashx como no hay puntos de interrupción se ven afectados. Imagino mi referencia a Upload.ashx es incorrecta. He intentado utilizar http: //mysite/_layouts/other/Upload.ashx en el js y todavía no hay alegría ...

Actualización 2

Después de algunas pruebas, el problema parece ser que se me pide que inicie sesión en Share Point de nuevo (estoy conectado). Esto está causando a tropezar. Alguna idea de cómo asegurarse de que mi authenication es recogido?

Actualización 3

Esto es realmente extraño. Estoy tentado a decir que es un ajuste en mi IE8 que lo está haciendo, ya que trabaja para un compañero de equipo.

Cuando hojeo directamente a /_layouts/other/Upload.ashx que estoy nunca pide autenticar. Cuando voy a través de JS veces me pidieron que authenicate incluso si he conectado antes.

¿Fue útil?

Solución

No cargue en una página, pero a un http manejador . Usted debe agregar el código que ha pegado a un upload.ashx , como se especifica en el mensaje del foro. Luego, en el cliente, utilice uploadify como esto:

$("#fileInput1").uploadify ({ script: 'upload.ashx' });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top