Pergunta

Eu tenho um pouco de HTML a ser gerada pelo JQuery em uma página Share Point. Eu quero usar uploadify neste html para carregar um arquivo para o servidor. Alexander ajudou, fornecendo o código de exemplo a seguir que é baseado parcialmente em 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;
        }
    }
}

O arquivo não é fazer o upload para o servidor. O único evento que está sendo jogado é o onProgress. Navegando para _layouts / outros / Upload.ashx retorna 0 (isto é correto) para que o arquivo está lá.

A principal questão é como faço para obter esta a jogar com ponto de partilha? Tento remoto depuração o arquivo upload.ashx mas não me permite adicionar pontos de interrupção no VS tão remota depuração não faz nada.

Update 1

Esta questão Visual Studio ASHX arquivos de depuração tem depuração funcionando.

Quando eu navegar diretamente para a página 0 é escrito na página. O fogo depurador e tudo é bom. Quando o script executado não está batendo Upload.ashx como há pontos de interrupção são hit. Eu imagino minha referência Upload.ashx está incorreto. Eu tentei usar http: //mysite/_layouts/other/Upload.ashx no js e ainda não alegria ...

Update 2

Depois de alguns testes o problema parece ser que ele está me pedindo para entrar em Share Point novamente (eu estou logado). Isso está causando-lo tropeçar. Alguma idéia de como ter certeza de que o meu authenication é captado?

Update 3

Este é realmente estranho. Estou tentado a dizer que é um ajuste em meu IE8 que está fazendo isso como ele funciona para um companheiro de equipe.

Quando eu navegar diretamente para /_layouts/other/Upload.ashx que estou nunca pediu para autenticar. Quando eu vou via JS Às vezes sou convidado a authenicate mesmo que eu tenha logado antes.

Foi útil?

Solução

Você não fazer o upload para uma página, mas a um http manipulador . Você deve adicionar o código que você colou a um upload.ashx , conforme especificado no post do fórum. Em seguida, no cliente, use uploadify assim:

$("#fileInput1").uploadify ({ script: 'upload.ashx' });
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top