2009-08-25 38 views
4

我有一个由jQuery在共享点页面上生成的html。我想在这个html中使用uploadify将文件上传到服务器。 Alexander通过提供以下部分基于http://www.uploadify.com/forum/viewtopic.php?f=5&t=45的示例代码提供了帮助。使用Uploadify与Sharepoint和.net

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; 
     } 
    } 
} 

文件不会上传到服务器。唯一引发的事件是onProgress。浏览到_layouts/other/Upload.ashx会返回0(这是正确的),所以文件就在那里。

主要问题是我该如何得到这个共享点?我尝试远程调试upload.ashx文件,但它不允许我在VS中添加断点,所以远程调试什么也不做。

更新1

这个问题Visual Studio ASHX files debugging了调试工作。

当我直接导航到页面0写入页面。调试器触发,一切都很好。当脚本运行时,它不会触及Upload.ashx,因为没有命中断点。我想我对Upload.ashx的引用是不正确的。我试着用在js和仍然没有喜悦http://mysite/_layouts/other/Upload.ashx ...

更新2

在一些测试问题似乎是,它要求我登录到共享点再次(我登录)。这导致它绊倒。任何想法如何确保我的认证被拿起?

更新3

这是很奇怪的。我很想说这是我的IE8中的一个设置,因为它适用于队友。

当我直接浏览到/_layouts/other/Upload.ashx时,我从来没有被要求进行身份验证。 当我通过JS去时,我有时会被要求认证,即使我以前登录过。

回答

1

您不上传到页面,而是上传到http handler。按照论坛帖子的规定,您应该将代码粘贴到upload.ashx。然后,客户机上,使用uploadify这样的:

$("#fileInput1").uploadify ({ script: 'upload.ashx' }); 
+0

收到以下错误:未设置为一个对象的实例 对象引用。在Upload.ProcessRequest(HttpContext的上下文) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔逻辑completedSynchronously) – Jack 2009-08-25 13:42:55

+0

第三柱在该线程显示了一些戏剧与文件夹(http://www.uploadify.com/forum/viewtopic.php?f=5&t=45#p1909)。这会引发异常,或者文件没有​​到达服务器 - 你能检查哪一个? – 2009-08-25 13:55:21

+0

我尝试了第二批代码,仍然没有运气。调试不够远。为什么事情不简单。 – Jack 2009-08-25 14:08:06